I agree with Neil. The Equinox launcher is the "Eclipse-ism" Neil is referring to in that it is what is responsible for defining the class loader used to load the framework. By default it configures the equinox framework class loader to use only the boot class path as the parent class loader.
Tom From: Neil Bartlett <[email protected]> To: Equinox development mailing list <[email protected]>, Cc: Jasper Potts <[email protected]>, Richard Bair <[email protected]>, Steve Northover <[email protected]> Date: 11/06/2012 03:42 PM Subject: Re: [equinox-dev] Java8 and JavaFX8 Sent by: [email protected] Tom, I should point out that from a "pure" OSGi point of view, it should be no issue for these libraries to be part of the extension path. It's up to the launcher code that creates the OSGi framework to choose which packages should be exported from the system bundle. Ordinarily the launcher has visibility of all classes on the boot, extension and application classloaders. In other words, it's an Eclipse-ism for the system bundle to only have visibility of the boot classloader, and for there to be no way to expose libraries from the extension classloader short of modifying the Eclipse configuration. Naturally I would much prefer if JavaFX was delivered as ordinary JAR files (or even as OSGi bundles, now wouldn't THAT be nice...) rather than having to be on the extension classloader! However it would be inaccurate to say to Oracle that they're "breaking OSGi", when they're really just breaking the way Eclipse uses OSGi. Thanks, Neil Tom Schindl 6 November 2012 20:55 Hi Mike, myself, Steve and others are currently discussing in a mail-thread and I'm trying to find a way through the jungle ;-) There's no decision (at least what an outsider knows) yet the first the idea was to put it on the bootclasspath, now it is lib/ext. I've just started exploring today what lib/ext would mean to us (OSGi users) and found out that it will cause us more trouble I first thought it would. Before we (Equinox and maybe broader OSGi community) - looks like I'm one of the few who cares about that - have understood the problems and how we can address them I don't want to go on the openjfx list. I hope to isolate the problem and actions we'll have to take for a) (bootclasspath) or b) (extclasspath). Naturally we can live better with a) but going to Oracle saying that they have to do a) to not break OSGi and later on someone steps up saying that b) would have been possible is not good - this naturally pretends that a) can be done which is probably beyond javafx' influence. I'm not sure who is in charge of the javafx into jre classpath integration which would certainly help to get us all together and having a defined timeline when we can expect it to happen, so that we can give feedback on ea builds. Tom Mike Milinkovich 6 November 2012 20:34 Tom, Just curious - have you reported this as a bug at openjfx.org? There should be time for Oracle to fix their packaging for 2013, no? Mike Milinkovich [email protected] +1.613.220.3223 -----Original Message----- From: Tom Schindl <[email protected]> Sender: [email protected] Date: Tue, 6 Nov 2012 20:58:36 To: Equinox development mailing list<[email protected]> Reply-To: Equinox development mailing list <[email protected]> Subject: Re: [equinox-dev] Java8 and JavaFX8 _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev Tom Schindl 6 November 2012 19:58 For RCP that would work. The problem is that people might use it in an existing OSGi app like the Eclipse IDE and there we probably should and can not modify it. The really problem is caused by Oracle but i'd really don't want to suffer our users from it. Do you have time for an IRC session this or next week to discuss possible solutions? Tom Von meinem iPhone gesendet Am 06.11.2012 um 20:38 schrieb Thomas Watson <[email protected] >: How about setting the configuration property osgi.frameworkParentClassloader=ext (see the osgi.frameworkParentClassloaderr option at http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html&cp=2_1_3_0 ) This should cause the class loader which loads the framework implementation (setup by the equinox.launcher) to use the extension class loader as the parent class loader. This should allow the system bundle to export the packages available on the extension class path. Tom <graycol.gif>Tom Schindl ---11/06/2012 12:42:54 PM---Hi, To integrate JavaFX2 into Java7 I had to reside to nasty stuff like From: Tom Schindl <[email protected]> To: [email protected], Date: 11/06/2012 12:42 PM Subject: [equinox-dev] Java8 and JavaFX8 Sent by: [email protected] Hi, To integrate JavaFX2 into Java7 I had to reside to nasty stuff like Adapter Hooks but I don't want to go into detail. My current concerns are the future. First of all JavaFX 8 although shipped with Oracle-JDK8 will not be JSRed so its packages can not get part of the Java8 profile. It currently looks like they are not getting on the bootclasspath but rather pushed into lib/ext. I've done some tests today and it looks like this lib/ext stuff is going give us some headaches because this means the javafx stuff is not going to be on the bootclasspath which the system.bundle delegates to, am I right with this? So what could be a runtime-solution? Would a OpenJDK8-Profile which exports JavaFX packages help us, or would it ran into the same problem that it will delegate to the bootclassloader whereas we'd need to consult the extension-classloader? Once we figured out how we can solve the problem at the runtime layer we can go the next step to tweak PDE in a way that it we can work with it. Tom -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl geschäftsführer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax + +43 512 935833 http://www.BestSolution.at phone + +43 512 935834 _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev Thomas Watson 6 November 2012 19:38 How about setting the configuration property osgi.frameworkParentClassloader=ext (see the osgi.frameworkParentClassloaderr option at http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html&cp=2_1_3_0 ) This should cause the class loader which loads the framework implementation (setup by the equinox.launcher) to use the extension class loader as the parent class loader. This should allow the system bundle to export the packages available on the extension class path. Tom Inactive hide details for Tom Schindl ---11/06/2012 12:42:54 PM---Hi, To integrate JavaFX2 into Java7 I had to reside to nasty Tom Schindl ---11/06/2012 12:42:54 PM---Hi, To integrate JavaFX2 into Java7 I had to reside to nasty stuff like From: Tom Schindl <[email protected]> To: [email protected], Date: 11/06/2012 12:42 PM Subject: [equinox-dev] Java8 and JavaFX8 Sent by: [email protected] Hi, To integrate JavaFX2 into Java7 I had to reside to nasty stuff like Adapter Hooks but I don't want to go into detail. My current concerns are the future. First of all JavaFX 8 although shipped with Oracle-JDK8 will not be JSRed so its packages can not get part of the Java8 profile. It currently looks like they are not getting on the bootclasspath but rather pushed into lib/ext. I've done some tests today and it looks like this lib/ext stuff is going give us some headaches because this means the javafx stuff is not going to be on the bootclasspath which the system.bundle delegates to, am I right with this? So what could be a runtime-solution? Would a OpenJDK8-Profile which exports JavaFX packages help us, or would it ran into the same problem that it will delegate to the bootclassloader whereas we'd need to consult the extension-classloader? Once we figured out how we can solve the problem at the runtime layer we can go the next step to tweak PDE in a way that it we can work with it. Tom -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl geschäftsführer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev Tom Schindl 6 November 2012 18:42 Hi, To integrate JavaFX2 into Java7 I had to reside to nasty stuff like Adapter Hooks but I don't want to go into detail. My current concerns are the future. First of all JavaFX 8 although shipped with Oracle-JDK8 will not be JSRed so its packages can not get part of the Java8 profile. It currently looks like they are not getting on the bootclasspath but rather pushed into lib/ext. I've done some tests today and it looks like this lib/ext stuff is going give us some headaches because this means the javafx stuff is not going to be on the bootclasspath which the system.bundle delegates to, am I right with this? So what could be a runtime-solution? Would a OpenJDK8-Profile which exports JavaFX packages help us, or would it ran into the same problem that it will delegate to the bootclassloader whereas we'd need to consult the extension-classloader? Once we figured out how we can solve the problem at the runtime layer we can go the next step to tweak PDE in a way that it we can work with it. Tom _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
<<inline: graycol.gif>>
<<inline: 2E553118.jpg>>
<<inline: 2E748981.jpg>>
<<inline: 2E300999.jpg>>
<<inline: 2E834805.gif>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
