JDK-8154716 : ClassNotFoundException with Java 9-ea+111 when started with WebStart
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Duplicate
  • OS: generic
  • CPU: x86_64
  • Submitted: 2016-04-01
  • Updated: 2016-04-29
  • Resolved: 2016-04-21
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+111)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+111, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Linux 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

A DESCRIPTION OF THE PROBLEM :
When starting our application using Webstart with Java 9-ea+111, we get a ClassNotFoundException. With Java 9-ea+110 it did work. Running the application directly without using WebStart works OK as well. So this most probably is only a problem with Java WebStart and Jigsaw.

REGRESSION.  Last worked in version 9


ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at kam.janet.data.domain.factory.impl.AbstractDomainFactory$StandardFactorySingleton.<clinit>(AbstractDomainFactory.java:46)
        at kam.janet.data.domain.factory.impl.AbstractDomainFactory.getStandardDomainFactory(AbstractDomainFactory.java:64)
        at kam.janet.data.domain.SDDomains.initDomainCache(SDDomains.java:114)
        at kam.rocky.janet.util.preload.DomainPreloader.preload(DomainPreloader.java:17)
        at kam.rocky.janet.util.JanetPreLoader$PreloadCallable.call(JanetPreLoader.java:105)
        at kam.rocky.janet.util.JanetPreLoader$PreloadCallable.call(JanetPreLoader.java:86)
        at java.util.concurrent.FutureTask.run(java.base@9-ea/FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@9-ea/ThreadPoolExecutor.java:1158)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@9-ea/ThreadPoolExecutor.java:632)
        at java.lang.Thread.run(java.base@9-ea/Thread.java:804)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at com.sun.deploy.security.DeployURLClassLoader.findClass(jdk.deploy@9-ea/DeployURLClassLoader.java:301)
        at com.sun.jnlp.JNLPClassLoader.findClass(jdk.javaws@9-ea/JNLPClassLoader.java:372)
        at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:486)
        at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
        ... 10 more


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
kam.janet.data.domain.factory.impl.AbstractDomainFactory$StandardFactorySingleton.<clinit>(AbstractDomainFactory.java:46) just tries to instantiate 

new DomainFactoryFile()

which itself extends DomainFactoryFileBase, which imports javax.xml.bind.JAXBElement, JAXBException and Unmarshaller. So I'm just guessing, that the Java WebStart Classloader is just not capable of loading javax.xml.bind.* classes.
---------- END SOURCE ----------


Comments
This seems to be a dup of JDK-8152839.
01-04-2016