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




|------------>
| From:      |
|------------>
  
>-----------------------------------------------------------------------------------------------------------------------------------------------|
  |Gerd Wütherich <g...@gerd-wuetherich.de>                                     
                                                                  |
  
>-----------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>-----------------------------------------------------------------------------------------------------------------------------------------------|
  |Equinox development mailing list <equinox-dev@eclipse.org>                   
                                                                  |
  
>-----------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| 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@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to