Eclipse no longer working with 1.9.0-ea-b61
Andreas Kohn
andreas.kohn at gmail.com
Thu May 7 07:57:44 UTC 2015
Hi,
Thanks, that makes sense.
I tried with your suggestion of adjusting the OSGi parent class loader, and
the results are "interesting":
b60: things work, i.e. I couldn't observe any ill effects.
b61: same error (makes sense, as the classes simply aren't there, if I
understand the 8078139 bug correctly)
With my local build however things change: Eclipse still doesn't start, but
now reports "java.lang.LinkageError: loader constraint violation: loader
(instance of sun/misc/Launcher$ExtClassLoader) previously initiated loading
for a different type with name "org/w3c/dom/stylesheets/StyleSheet"".
Will file an issue with eclipse, pointing here, thanks for your help again!
Regards,
--
Andreas
On Wed, May 6, 2015 at 8:18 PM Alan Bateman <Alan.Bateman at oracle.com> wrote:
> On 06/05/2015 16:29, Andreas Kohn wrote:
> > Eclipse no longer starts with 1.9.0-ea-b61 or higher, complaining about
> > missing org.w3c.dom.stylesheets.StyleSheetList.
> >
> > I'm guessing this is due to
> > http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8042244 (Re-examine
> the
> > supportedness of non-SE org.w3c.dom.** API), which points to a regression
> > that should be fixed with
> > http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8078139
> > Unfortunately doing a local build from 9dev with the commit for that bug
> > included doesn't help, the message stays the same.
> >
> > Is this an eclipse issue, or a legitimate regression on the JDK side?
> >
> In JDK 9 then several components that have historically had their types
> loaded by the boot loader have been moved to the extension loader. This
> includes CORBA, JAXB, JAX-WS, the JavaBeans Activation Framework and a
> few more. There are a number of motivations for this, one is that we
> allows these components to be configured with reduced permissions
> (compared to getting all permissions when defined by the boot loader).
>
> The W3C DOM API is a bit confusing because Java SE only endorsed a
> subset of the API. There are a number of additional API packages,
> org.w3c.dom.stylesheets being one of them, that are not part of Java SE.
> The JDK has always shipped this and the other packages but nothing can
> really depend on them being there. This is clearly confusing so I think
> Eclipse and others that might depend on these other API packages can be
> forgiven. The proposal in JDK 9 is to continue to ship these packages in
> a module named jdk.xml.dom. Furthermore, the proposal is move this to
> the extension loader as they are not core and have no reason to be
> loaded by the boot loader. This is what JDK-8042244 is about.
>
> As regards Eclipse then I assume it must be using one of its own class
> loaders that delegates to the boot loader rather than the system class
> loader. This is unfortunate as it means that many standard and
> JDK-specific type won't be visible (esp. as more non-core components are
> moved out of the boot loader). I would be curious if
> -Dorg.osgi.framework.bundle.parent=app fixes the issue. As you bring it
> up then I think it would be good to get a bug submitted to Eclipse on
> this, it would be unfortunate if only a subset of the standard and JDK
> types are visible via its class loaders.
>
> -Alan
>
>
>
>
>
More information about the jdk9-dev
mailing list