I have been following the instructions of
1)
https://svn.win.tue.nl/trac/prom/wiki/setup/HowToBecomeAProMDeveloper 2)
https://svn.win.tue.nl/trac/prom/wiki/setup/CheckingOutPromUsingSubclipse 3)
https://svn.win.tue.nl/trac/prom/wiki/setup/RunningProMIn the third URL, when I attempt to run "ProM with UITopia" I receive an exception as follows:
------------------------
Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
at org.processmining.framework.boot.Boot.boot(Boot.java:369)
at org.processmining.contexts.uitopia.UI.main(UI.java:153)
------------------------
I am running Java version 12.0.2, and a web search suggests that the exception would occur with any Java version after 9.xx.
Does anyone have a fix for this issue that will enable the ProM UITopia code to work with Java 12.xx ?
Thanks
Rick Hull
Answers
Start plug-in Open XES Log File (Naive)
-------- The following exception was logged by the framework:
The exception was probalby handled properly.
java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:613)
at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)
at org.processmining.framework.plugin.impl.PluginExecutionResultImpl.synchronize(PluginExecutionResultImpl.java:106)
at org.processmining.contexts.uitopia.hub.ProMResourceManager.importResourceNotInEDT(ProMResourceManager.java:585)
at org.processmining.contexts.uitopia.hub.ProMResourceManager.access$200(ProMResourceManager.java:58)
at org.processmining.contexts.uitopia.hub.ProMResourceManager$10.run(ProMResourceManager.java:554)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:331)
at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:154)
at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 more
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at org.deckfour.xes.util.XsDateTimeConversion.parseXsDateTime(XsDateTimeConversion.java:96)
at org.deckfour.xes.util.XsDateTimeConversionJava7.parseXsDateTime(XsDateTimeConversionJava7.java:129)
at org.deckfour.xes.in.XesXmlParser$XesXmlHandler.startElement(XesXmlParser.java:292)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1377)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2710)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
at java.xml/javax.xml.parsers.SAXParser.parse(SAXParser.java:197)
at org.deckfour.xes.in.XesXmlParser.parse(XesXmlParser.java:175)
at org.processmining.plugins.log.OpenLogFilePlugin.importFromStream(OpenLogFilePlugin.java:69)
at org.processmining.plugins.log.OpenNaiveLogFilePlugin.importFromStream(OpenNaiveLogFilePlugin.java:17)
at org.processmining.framework.abstractplugins.AbstractImportPlugin.importFile(AbstractImportPlugin.java:92)
... 13 more
8c8
< <log xes.version="1.0" xes.features="nested-attributes" openxes.version="1.0RC7" xmlns="http://www.xes-standard.org/">
---
> <log xes.version="1.0" xes.features="" openxes.version="1.0RC7" xmlns="http://www.xes-standard.org/">
23,24c23
< <classifier name="Resource" keys="org:resource"/>
< <classifier name="Event Name AND Resource" keys="concept:name org:resource"/>
---
> <classifier name="Event Name AND Resource" keys="concept:name"/>
-------- The following exception was logged by the framework:
The exception was probalby handled properly.
java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:613)
at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)
at org.processmining.framework.plugin.impl.PluginExecutionResultImpl.synchronize(PluginExecutionResultImpl.java:106)
at org.processmining.contexts.uitopia.hub.ProMResourceManager.importResourceNotInEDT(ProMResourceManager.java:585)
at org.processmining.contexts.uitopia.hub.ProMResourceManager.access$200(ProMResourceManager.java:58)
at org.processmining.contexts.uitopia.hub.ProMResourceManager$10.run(ProMResourceManager.java:554)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:331)
at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:154)
at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 more
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at org.deckfour.xes.util.XsDateTimeConversion.parseXsDateTime(XsDateTimeConversion.java:96)
at org.deckfour.xes.util.XsDateTimeConversionJava7.parseXsDateTime(XsDateTimeConversionJava7.java:129)
at org.deckfour.xes.in.XesXmlParser$XesXmlHandler.startElement(XesXmlParser.java:292)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1377)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2710)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
at java.xml/javax.xml.parsers.SAXParser.parse(SAXParser.java:197)
at org.deckfour.xes.in.XesXmlParser.parse(XesXmlParser.java:175)
at org.processmining.plugins.log.OpenLogFilePlugin.importFromStream(OpenLogFilePlugin.java:69)
at org.processmining.plugins.log.OpenNaiveLogFilePlugin.importFromStream(OpenNaiveLogFilePlugin.java:17)
at org.processmining.framework.abstractplugins.AbstractImportPlugin.importFile(AbstractImportPlugin.java:92)
... 13 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 33 more
--------------------------------------------------------------
adding to classpath: file:/Users/rick/.ProM/packages/jaxb-6.9.6/lib/jaxb-api-2.4.0-b180830.0359.jar
As a result, the class loader should be able to find the classes it is seemingly unable to find. I do not really understand... Possible explanations I can think of:
- Your local copy of the jaxb-api-*.jar file is corrupted (unlikely, I'd say).
- The class that refers to the JAXB class files was loaded by a different class loader still (can this be?).
I will investigate the issue further next week when I'm back in the office. Given the warning on the class loader, you must be using OpenJDK 12, right? I will check with OpenJDK 12.