[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] How to best simulate standalone Equinox deployment in Eclipse

This is not completely accurate. The org.osgi.frameowork.bootdeletation from the *.profile files is not used at runtime, unless you specify the osgi.java.profile.bootdelegation=true setting. The setting mentioned by Gerd and Alex (osgi.compatibility.bootdelegation=true) is a setting that enables a last resort lookup to the boot class path. It is set to true by default for eclipse. This is why you appear to have access to all classes on boot when launching from eclipse. I could be wrong, but I did not think the org.osgi.frameowork.bootdeletation setting from the *.propfile is getting used by the tooling in any way, shape or form. I am curious how your own org.eclipse.jdt.launching.executionEnvironments extension solved this.

It sounds like you are facing https://bugs.eclipse.org/bugs/show_bug.cgi?id=164188 which has been open for some time. If you did find that your own org.eclipse.jdt.launching.executionEnvironments extension solved this by not having the org.osgi.frameowork.bootdeletation set then please post some comments in the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=164188 as it sounds like one approach to fixing that bug.


Tom



Inactive hide details for Gerd Wütherich ---11/19/2010 08:40:19 AM---Hi all,Gerd Wütherich ---11/19/2010 08:40:19 AM---Hi all,


From:

Gerd Wütherich <gerd@xxxxxxxxxxxxxxxxxx>

To:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

Date:

11/19/2010 08:40 AM

Subject:

Re: [equinox-dev] How to best simulate standalone Equinox deployment in Eclipse




Hi all,

the "problem" here is, that the java profile definitions contained in
the org.eclipse.osgi_x.y.jar define the javax.* packages as
bootdelegated packages, e.g.:

org.osgi.framework.bootdelegation = \
javax.*,\
org.ietf.jgss,\
org.omg.*,\
org.w3c.*,\
org.xml.*,\
sun.*,\
com.sun.*

(taken from the JavaSE-1.6 profile).

Due to this the compiler gives you no warning/error if you use classes
from this packages in your plug-in project. You will also have no
problem if start your bundle with the equinox launcher from within
your IDE, as the property 'osgi.compatibility.bootdelegation' is set
to 'true' in this case, as Alex mentioned. But you will have a problem
if you deploy this bundle to an equinox instance started from outside
the IDE.

We solved this problem by providing a custom java profile definition
to the eclipse IDE via the
'org.eclipse.jdt.launching.executionEnvironments' extension point with
a 'org.osgi.framework.bootdelegation' property that does not contain
the 'javax.*' entry. Using this java profile, the eclipse compiler
shows you an error/warning if you access 'javax.*' types without
importing them in the bundle manifest.

If there is a easier / more convenient way of solving this issue,
please let me know ,-)

Regards,
Gerd
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


GIF image

GIF image