0

我创建了一个动态 web 项目,它也使用 drools 来提供一些功能。当我将 WAR 文件放入 Tomcat7 和服务器时,drools 部分不起作用。

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

在这条与流口水有关的第一行之后,什么也没有发生。

在Tomcat7中运行包含drools 5.5.0 Final的项目需要一些配置吗?

请帮我。我被严重卡住了,我是流口水的新手。

4

3 回答 3

0

您需要检查添加到您的 Web 应用程序 (WEB-INF/lib) 的所有依赖项,确保 drools 具有所有必需的依赖项,因为如果没有,它将无法创建知识构建器。大多数情况下,如果它失败是因为您忘记在 Web 应用程序中添加 deps。

于 2013-09-19T09:24:15.130 回答
0

您必须在工作内存中添加一些事实并执行(触发)规则。在 GitHub 上查看这些示例

PS 可能与 Tomcat 没有任何关系。可能值得尝试先从命令行应用程序执行规则。

于 2013-09-19T02:58:13.280 回答
0

GitHub 中的以下项目是一个 Web 应用程序,其中包含一些用于验证 IBAN 的 REST 样式端点。它使用 Drools 5.5 来执行该评估。

https://github.com/gratiartis/sctrcd-payment-validation-web/

它会生成一个可以加载到 Tomcat 中的 .war,这可能是一个有用的起点。知识库包装在 Spring 服务中:

https://github.com/gratiartis/sctrcd-payment-validation-web/blob/master/src/main/java/com/sctrcd/payments/validation/RuleBasedIbanValidator.java

了解如何创建知识库和会话可能会帮助您了解代码哪里出错了。

作为奖励,您可以使用“mvn tomcat7:run”在 Tomcat 中运行它以立即对其进行测试。

于 2013-10-03T11:32:32.510 回答