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?的主要内容,如果未能解决你的问题,请参考以下文章

myeclipse 在web-inf/lib中导入包

在tomcat类路径中包含web-inf / lib中的目录

lib如何打进web-inf

如何访问 WEB-INF/lib/jars?

将 JAR 添加到 IntelliJ 中的 WEB-INF/lib 目录的正确过程是啥

WEB-INF/lib 内容的 JBOSS 排序