jBPM 的Servet 的WEB-INF\lib 中需要哪些Drools JARS?
Posted
技术标签:
【中文标题】jBPM 的Servet 的WEB-INF\\lib 中需要哪些Drools JARS?【英文标题】:What Drools JARS are needed in a servet's WEB-INF\lib for jBPM?jBPM 的Servet 的WEB-INF\lib 中需要哪些Drools JARS? 【发布时间】:2013-09-20 20:44:35 【问题描述】:我已经移植了一个 Tomcat servlet 以与 JBoss 7.1 一起运行,现在我正在尝试向它添加 jBPM 支持。我已经运行了 jbpm-5.4.0.Final-installer-full.zip 来使用 Kepler 安装 JBoss/jBPM(我必须修补安装程序才能安装 Kepler)。然后,我从安装程序的“评估”示例中复制了一行代码并将其放入我的 servlet 中。那行代码是:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
添加必要的导入后,我得到了一个干净的构建。我认为我可以将我在安装程序的 .\runtime\lib 中找到的 Drools 运行时文件放入我的 servlet 的 .\WEB-INF\lib 中。但是,当我尝试执行 KnowledgeBuilder 代码行时,这样做会导致我得到“找不到类”异常。事实证明,如果我将安装程序的 .\runtime\lib 中的 JAR 替换为我的 .\WEB-INF\lib 中的 drools-distribution-5.5.0.Final.zip(来自 http://www.jboss.org/drools/downloads)中的 JARS,我能够执行 KnowledgeBuilder 代码行。
我的问题是: 1) 为什么安装程序的 .\runtime\lib 中的 JAR 不能在上面工作? 2) 我在哪里可以找到有关所有这些 Drools JAR 的作用以及需要哪些的文档?
谢谢。 铝
【问题讨论】:
【参考方案1】:如果我在这里列出特定的罐子,答案将只适用于特定版本的 Drools。获得正确 JAR 的最佳方法是使用 Maven 构建您的项目。这将自动导入所有需要的 JAR。
你通常需要 drools-core 和 drools-compiler 的依赖项。它们有自己的传递依赖关系。
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>$drools.version</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>$drools.version</version>
</dependency>
如果您使用 Eclipse,那么您可以创建一个 pom.xml,其中包含这些依赖项。在 Maven pom 编辑器中打开它,“Effective POM”选项卡将显示所有必需的依赖项。
【讨论】:
以上是关于jBPM 的Servet 的WEB-INF\lib 中需要哪些Drools JARS?的主要内容,如果未能解决你的问题,请参考以下文章
在tomcat类路径中包含web-inf / lib中的目录