Exception 第一次尝试调用jBPM API时抛出

Exception 第一次尝试调用jBPM API时抛出,exception,servlets,jboss,jbpm,Exception,Servlets,Jboss,Jbpm,我正在尝试将jBPM 5.4集成到现有的servlet中 servlet在JBoss 7.1中运行良好,但在我添加一个与jBPM相关的API时,由于抛出异常而失败。(我使用了jbpm-5.4.0.Final installer full.zip安装中的评估示例作为模板。)我添加到servlet的doPost() 执行此语句时,将立即抛出以下异常: 20:51:06394错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default

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

servlet在JBoss 7.1中运行良好,但在我添加一个与jBPM相关的API时,由于抛出异常而失败。(我使用了
jbpm-5.4.0.Final installer full.zip
安装中的评估示例作为模板。)我添加到servlet的doPost()

执行此语句时,将立即抛出以下异常:

20:51:06394错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default host].[myservlet].[myservlet]] (http-localhost-127.0.0.1-8080-2)Servlet的Servlet.service() myservlet引发异常:java.lang.NoClassDefFoundError: org/drools/builder/KnowledgeBuilderFactory位于 com.mycompany.myservlet.doPost(myservlet.java:413)[classes:] com.mycompany.myservlet.doGet(myservlet.java:120)[classes:] javaservlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] javaservlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:] org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] 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:] 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:] org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] 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:] org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] org.apache.tomcat.util.net.JIoEndpoint$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;
有人能解释一下这里出了什么问题吗

多谢各位。
Al

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

嗨,Salaboy-谢谢你的快速回复。我的问题是,我不知道要在类路径上放置什么.jar文件,也找不到可以告诉我的资源。你能告诉我在哪里可以找到我需要的罐子吗?谢谢。好的,我终于明白了。由于某些原因,当jbpm-5.4.0.Final-installer-full.zip移动到我的WEB-INF\lib时创建的.\runtime\lib中的.jar文件没有消除此错误。但是,当我将这些.jar放入我的.\lib中时,我能够从下载drools-distribution-5.5.0.Final.zip。错误被消除,我能够从servlet中执行第一个“jBPM测试语句”。你能告诉我为什么jBPM安装程序。\lib.jar文件不能工作吗?非常感谢。
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;