我写过Drools和来电程序,并且Junit工作正常。 但是当我部署到Tomcat 7运行应用程序时,我发现了这个问题,如下所示: -
线程中的异常" pool-7-thread-1" java.lang.NoSuchMethodError:com.thoughtworks.xstream.XStream.fromXML(Ljava / net / URL;)Ljava / lang / 宾语; at org.drools.compiler.kproject.models.KieModuleModelImpl $ kModuleMarshaller.fromXML(KieModuleModelImpl.java:190) at org.drools.compiler.kproject.models.KieModuleModelImpl.fromXML(KieModuleModelImpl.java:139) at org.drools.compiler.kie.builder.impl.ClasspathKieProject.fetchKModule(ClasspathKieProject.java:163) at org.drools.compiler.kie.builder.impl.ClasspathKieProject.fetchKModule(ClasspathKieProject.java:125) at org.drools.compiler.kie.builder.impl.ClasspathKieProject.discoverKieModules(ClasspathKieProject.java:96) 在org.drools.compiler.kie.builder.impl.ClasspathKieProject.init(ClasspathKieProject.java:68) 在org.drools.compiler.kie.builder.impl.KieContainerImpl。(KieContainerImpl.java:83) 在org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieClasspathContainer(KieServicesImpl.java:85) 在org.drools.compiler.kie.builder.impl.KieServicesImpl.getKieClasspathContainer(KieServicesImpl.java:68) 在com.hm.msp.rules.service.DroolsRuleLoader.loadRules(DroolsRuleLoader.java:35) 在com.hm.msp.workflow.service.task.TemperatureTasks.execute(TemperatureTasks.java:40) 在com.hm.msp.workflow.service.flow.WorkFlowServiceCommunicator.executeEachOfItsTasks(WorkFlowServiceCommunicator.java:90) 在com.hm.msp.workflow.service.flow.WorkFlowServiceCommunicator.execute(WorkFlowServiceCommunicator.java:65) 在com.hm.msp.controller.service.TaskExecutor.run(TaskExecutor.java:22) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:745)
请协助
答案 0 :(得分:0)
尽管Drools pom包含xstream jar,但是我们必须在pom Xstream中声明这个简单的解决方案。
依赖应该是
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.7</version>
</dependency>
答案 1 :(得分:0)
添加以下pom条目解决了这个错误:
parseOperation