技术文章 - CS277708
ThingWorx 8.1 中的异常检测失败并显示“java.lang.RuntimeException:无法将 PMML 序列化为字符串”
已修改: 22-Dec-2022
适用于
- ThingWorx Analytics 8.1
- java 9
说明
- 异常检测从 Calibrating 到 Training 再到 Failed 状态,
- 训练微服务出现如下错误
错误 [2018-01-12 08:32:56,247] com.thingworx.analytics.ccc.job.local.AsynchronousMemoryJobExecutor:调用 TrainingJob [20180112] 失败,原因如下:
! java.lang.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory
!在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(未知来源)
!在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(UnknownSource)
!在 java.base/java.lang.ClassLoader.loadClass(未知来源)
!在 javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:532)
!在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:205)
! ...省略了 23 个常用框架
!导致:javax.xml.bind.JAXBException:空
!在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:207)
!在 javax.xml.bind.ContextFinder.find(ContextFinder.java:414)
!在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:618)
!在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:565)
!在 org.jpmml.model.JAXBUtil.getContext(JAXBUtil.java:125)
!在 org.jpmml.model.JAXBUtil.createMarshaller(JAXBUtil.java:153)
!在 org.jpmml.model.JAXBUtil.marshal(JAXBUtil.java:99)
!在 org.jpmml.model.JAXBUtil.marshalPMML(JAXBUtil.java:89)
!在 com.thingworx.analytics.training.results.model.PMmlModel.pmmlAsString(PmmlModel.java:93)
! ... 省略了 15 个公共框架
!导致:java.lang.RuntimeException:无法将 PMML 序列化为字符串
!在 com.thingworx.analytics.training.results.model.PMmlModel.pmmlAsString(PmmlModel.java:96)
!在 com.thingworx.analytics.training.results.model.impl.ModelServiceModelSource.store(ModelServiceModelSource.java:115)
!在 com.thingworx.analytics.training.results.model.impl.ModelServiceModelSource.store(ModelServiceModelSource.java:46)
!在 com.thingworx.analytics.training.core.TrainingRunner.storeModel(TrainingRunner.java:166)
!在 com.thingworx.analytics.training.core.TrainingRunner.run(TrainingRunner.java:127)
!在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
!在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)
!在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
!在 java.base/java.lang.reflect.Method.invoke(未知来源)
!在 com.thingworx.analytics.training.core.TrainingJob.run(TrainingJob.java:72)
!在 com.thingworx.analytics.ccc.job.local.AsynchronousMemoryJobExecutor$1.call(AsynchronousMemoryJobExecutor.java:88)
!在 com.thingworx.analytics.ccc.job.local.AsynchronousMemoryJobExecutor$1.call(AsynchronousMemoryJobExecutor.java:77)
!在 java.base/java.util.concurrent.FutureTask.run(未知来源)
!在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
!在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
!在 java.base/java.lang.Thread.run(未知来源)
! java.lang.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory
!在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(未知来源)
!在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(UnknownSource)
!在 java.base/java.lang.ClassLoader.loadClass(未知来源)
!在 javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:532)
!在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:205)
! ...省略了 23 个常用框架
!导致:javax.xml.bind.JAXBException:空
!在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:207)
!在 javax.xml.bind.ContextFinder.find(ContextFinder.java:414)
!在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:618)
!在 javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:565)
!在 org.jpmml.model.JAXBUtil.getContext(JAXBUtil.java:125)
!在 org.jpmml.model.JAXBUtil.createMarshaller(JAXBUtil.java:153)
!在 org.jpmml.model.JAXBUtil.marshal(JAXBUtil.java:99)
!在 org.jpmml.model.JAXBUtil.marshalPMML(JAXBUtil.java:89)
!在 com.thingworx.analytics.training.results.model.PMmlModel.pmmlAsString(PmmlModel.java:93)
! ... 省略了 15 个公共框架
!导致:java.lang.RuntimeException:无法将 PMML 序列化为字符串
!在 com.thingworx.analytics.training.results.model.PMmlModel.pmmlAsString(PmmlModel.java:96)
!在 com.thingworx.analytics.training.results.model.impl.ModelServiceModelSource.store(ModelServiceModelSource.java:115)
!在 com.thingworx.analytics.training.results.model.impl.ModelServiceModelSource.store(ModelServiceModelSource.java:46)
!在 com.thingworx.analytics.training.core.TrainingRunner.storeModel(TrainingRunner.java:166)
!在 com.thingworx.analytics.training.core.TrainingRunner.run(TrainingRunner.java:127)
!在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
!在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)
!在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
!在 java.base/java.lang.reflect.Method.invoke(未知来源)
!在 com.thingworx.analytics.training.core.TrainingJob.run(TrainingJob.java:72)
!在 com.thingworx.analytics.ccc.job.local.AsynchronousMemoryJobExecutor$1.call(AsynchronousMemoryJobExecutor.java:88)
!在 com.thingworx.analytics.ccc.job.local.AsynchronousMemoryJobExecutor$1.call(AsynchronousMemoryJobExecutor.java:77)
!在 java.base/java.util.concurrent.FutureTask.run(未知来源)
!在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
!在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
!在 java.base/java.lang.Thread.run(未知来源)
这是文章 277708 的 PDF 版本,可能已过期。最新版本 CS277708