首页 文章

第一次尝试调用jBPM API抛出

提问于
浏览
0

我正在尝试将jBPM 5.4集成到现有的servlet中 .

使用 JBoss 7.1 可以正常运行servlet,但是当我添加一个与jBPM相关的API时,它会因抛出异常而失败 . (我使用 jbpm-5.4.0.Final-installer-full.zip 安装中的评估示例作为模板 . )我添加到servlet的doPost():

KnowledgeBuilder kbuilder = KnowledgeBuilderFactor.newKnowledgeBuilder()

我们执行此语句后立即抛出以下 exception

20:51:06,394 ERROR [org.apache.catalina.core.ContainerBase . [jboss.web] . [default-host] . [/ myservlet] . [myservlet]](http-localhost-127.0.0.1-8080- 2)Servlet myservlet的Servlet.service()在com.mycompany的com.mycompany.myservlet.doPost(myservlet.java:413)[classes:]中抛出异常:java.lang.NoClassDefFoundError:org / drools / builder / KnowledgeBuilderFactory . myservlet.doGet(myservlet.java:120)[classes:]在javax.servlet.http.HttpServlet.service(HttpServlet.java:734)[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0 . 0.Final]在org.apache.catalina的javax.servlet.http.HttpServlet.service(HttpServlet.java:847)[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] .core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)[jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)[jbossweb-7.0.13 .Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)[jbossweb- 7.0.13.Final.jar:] org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)[jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.security .SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)[jboss-as-web-7.1.1.Final.jar:7.1.1.Final] org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155 )[jbossweb-7.0.13.Final.jar:] org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)[jbossweb-7.0.13.Final.jar:] at org.apache.catalina .core.StandardEngineValve.invoke(StandardEngineValve.java:109)[jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)[jbossweb-7.0.13 .Final.jar:]在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)[jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler . 进程(Http11Protocol.java:671)[jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoE ndpoint $ Worker.run(JIoEndpoint.java:930)[jbossweb-7.0.13.Final.jar:] java.lang.Thread.run(Thread.java:722)[rt.jar:1.7.0_11]我们还有:import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.jbpm.process.workitem.wsht.HornetQHTWorkItemHandler;

有人可以解释这里出了什么问题吗?

谢谢 . 人

1 回答

  • 0

    您需要确保以下类:org / drools / builder / KnowledgeBuilderFactory位于项目类路径(包含它的整个jar文件)中,并且它也位于WEB-INF / lib目录中的对应jar文件中 . 这样做会使它工作,这似乎根本不是Drools或jBPM问题..与Web应用程序更一般相关 .

相关问题