Servlets Can';t从JBossservlet访问jBPM.BPMN文件

Servlets Can';t从JBossservlet访问jBPM.BPMN文件,servlets,jboss,drools,jbpm,Servlets,Jboss,Drools,Jbpm,我正在尝试向servlet添加jBPM 5.4支持。我已经移植了一个TomcatServlet以与JBoss7.1一起运行,现在正在尝试向它添加jBPM支持。我已经运行了jbpm-5.4.0.Final-installer-full.zip来安装带有开普勒的JBoss/jbpm(我必须修补安装程序才能安装开普勒)。然后,我从安装程序的“评估”示例中复制了以下两行代码,并将它们放在我的servlet中: KnowledgeBuilder kbuilder = KnowledgeBuilderFac

我正在尝试向servlet添加jBPM 5.4支持。我已经移植了一个TomcatServlet以与JBoss7.1一起运行,现在正在尝试向它添加jBPM支持。我已经运行了jbpm-5.4.0.Final-installer-full.zip来安装带有开普勒的JBoss/jbpm(我必须修补安装程序才能安装开普勒)。然后,我从安装程序的“评估”示例中复制了以下两行代码,并将它们放在我的servlet中:

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("Evaluation.bpmn"), ResourceType.BPMN2);
在添加必要的导入之后,我得到了一个干净的构建。我将drools-distribution-5.5.0.Final.zip(from)中的JAR放在我的。\WEB-INF\lib中,我能够执行jBPM代码的第一行(KnowledgeBuilder行)。但是,当我跨过第二行(使用ResourceFactory.newClassPathResource())时,我得到以下结果:

12:29:02243错误[stderr](http-localhost-127.0.0.1-8080-1)java.lang.IllegalArgumentException:无法实例化类“org.drools.compiler.BPMN2ProcessProvider”的服务 12:29:02243错误[stderr](http-localhost-127.0.0.1-8080-1)位于org.drools.util.ServiceRegistryImpl.get(ServiceRegistryImpl.java:166) 12:29:02243错误[stderr](http-localhost-127.0.0.1-8080-1)位于org.drools.compiler.BPMN2ProcessFactory.loadProvider(BPMN2ProcessFactory.java:28)

12:29:02259错误[stderr](http-localhost-127.0.0.1-8080-1)由以下原因引起:java.lang.ClassNotFoundException:org.jbpm.bpmn2.BPMN2ProcessProviderImpl来自服务模块加载器的[Module”deployment.MyServer.war:main] 12:29:02259 org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)上的错误[stderr](http-localhost-127.0.0.1-8080-1)

我的问题是: 1) 这个错误是因为缺少一个JAR吗?如果是这样,你能告诉我丢失了什么罐子吗? 2) 将示例BPMN文件(Evaluation.BPMN)放在我的类路径中是否足以让代码找到它

多谢各位。
Al

我也面临类似的问题。此错误是因为缺少jar文件。我通过将jbpm-bpmn2-5.4.0.Final.jar添加到web inf/lib文件夹解决了这个错误。此jar文件位于jbpm安装程序/运行时文件夹中