|Re: [equinox-dev] FW: Classloader problem|
Are you setting the configuration property "org.osgi.framework.bootdelegation=*"? What version of Equinox do you use? Anything version 3.3 or later should not be delegating class loads to the VM first by default (unless you set explicitly set org.osgi.framework.bootdelegation=*). If you use Import-Package for some org.apache.* package and you get resolved to an export from a bundle then you should load the content of the package from that bundle.
There is also a compatibility mode Equinox uses by default to delegate to the parent (boot) class loader as a last resort if a class or resource cannot be found by normal OSGi delegation. See osgi.compatibility.bootdelegation in Eclipse help. If you set this configuration property to false then this last resort delegation is disabled. But even with this compatibility mode enabled you should be able to load org.apache classes from the installed bundles instead of from the VM by default. If you think Equinox is configured correctly in your environment then I suggest you open a bug against Equinox and give us steps to reproduce. Thanks.
"O'Flynn, Dennis" ---06/05/2009 12:34:09 PM---Anyone have any experience running Equinox using IBM J9? We are having some problems with using IBM J9 that we donât encounte
"O'Flynn, Dennis" <Dennis.OFlynn@xxxxxxxxxxxxx>
"Equinox development mailing list" <equinox-dev@xxxxxxxxxxx>
06/05/2009 12:34 PM
[equinox-dev] FW: Classloader problem
The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.
From: Hawkins, Joel
Sent: Friday, June 05, 2009 1:27 PM
To: O'Flynn, Dennis
Subject: Classloader problem
In a nutshell - The J9 VM packages many javax xml extension jars and their corresponding apache implementations in the library directory of the JRE. Many of the same packages are supplied by bundles that ship with Eclipse. A number of these bundles export packages without version numbers, and we find ourselves running into class verification errors when the classes provided by the JRE don't match those expected by the bundles. The Sun JVM prepend the apache classes with com.sun., so the problem is partially mitigated. However, for javax.* classes, the potential for trouble remains.
Is there a way to alter the contents of the system classpath during osgi startup such that we can suppress these additional classes provided by J9 and resolve them from the bundles provided by Eclipse?
equinox-dev mailing list