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 ----------