[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

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