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 [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
