[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Strange class loading behaviour

Launching Equinox using the framework launching API isn't for typical Eclipse usage, is it? But what you're saying is that the compatibility flag is set to true when launching through this API? So manually setting osgi.compatibility.bootdelegation=false would solve my "problem"?

Thanks,
-Patrik

2010/1/29 Thomas Watson <tjwatson@xxxxxxxxxx>

See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=178477 for the history.

When launching Equinox for the typical Eclipse usage we have a compatibility flag enabled that allows a last resort boot delegation. When launching Equinox standalone this compatibility flag is disabled.

Tom



Inactive hide details for Patrik Åkerfeldt ---01/29/2010 01:50:04 AM---Imagine a very simple bundle who's just printing javax.xPatrik Åkerfeldt ---01/29/2010 01:50:04 AM---Imagine a very simple bundle who's just printing javax.xml.parsers.ParserConfigurationException.class.getName() when started. R


From:

Patrik Åkerfeldt <patrik.akerfeldt@xxxxxxxxx>

To:

equinox-dev@xxxxxxxxxxx

Date:

01/29/2010 01:50 AM

Subject:

[equinox-dev] Strange class loading behaviour




Imagine a very simple bundle who's just printing javax.xml.parsers.ParserConfigurationException.class.getName() when started.

Running this with Equinox standalone yields a ClassNotFoundException.
"java -jar org.eclipse.osgi_3.5.1.R35x_v20090827.jar -configuration /home/stpaja/test/plugins/configuration/ -consoleLog"

Which is perfectly normal according the OSGi core specification which states that everything outside java.* must be imported (or implicitly loaded using boot delegation).

But, and here's the strange thing, when using a custom OSGi framework launcher the class name is printed and no ClassNotFoundException is thrown. I've implemented a very simple launcher which reads a config.ini file and installs/starts the bundles. It does not set any OSGi properties aside from those defined in config.ini.

The framework is started in the following manner:
java -cp my.launcher_1.0.0.jar:org.eclipse.osgi_3.5.1.R35x_v20090827.jar my.launcher.OsgiLauncher /home/stpaja/test/plugins/configuration/config.ini /home/stpaja/test/plugins/

Here's the content of config.ini (the same config.ini is used in both startups):
osgi.console=5555
osgi.bundles=aaaa_1.0.0.jar@start

Why is it that the bundle class loader finds javax.xml.parsers.ParserConfigurationException when started from a custom launcher instead of Equinox?

Thanks,
-Patrik Åkerfeldt_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev



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


GIF image

GIF image