我是Drools
的新手我尝试将drools的示例hello世界实现到我的项目中并且似乎工作得很好,但我真的被Drools
依赖所困扰因为我真的不知道它的用途是什么。只是想知道我是否需要设置Drools
依赖项?我很高兴收到你们的来信。
答案 0 :(得分:0)
是的,我们需要设置Drools Dependencies。
Drools被分解为几个模块,在规则开发/编译期间需要一些模块,并且在运行时需要一些模块。
在大多数情况下,程序员只想在运行时包含所有依赖项,这很好。它可以让您拥有最大的灵活性。
以下是构成JBoss Drools的重要库的描述:
knowledge-api.jar - 这提供了接口和工厂。它还有助于清楚地显示用户api的意图以及什么只是引擎api。
knowledge-internal-api.jar - 这提供了内部接口和工厂。
drools-core.jar - 这是核心引擎,运行时组件。包含RETE引擎和LEAPS引擎。如果您正在预编译规则(以及通过Package或RuleBase对象进行部署),那么这是唯一的运行时依赖项。
drools-compiler.jar - 它包含编译器/构建器组件以获取规则源,并构建可执行规则库。这通常是应用程序的运行时依赖性,但如果您要预编译规则则不必如此。这取决于drools-core。
drools-jsr94.jar - 这是符合JSR-94的实现,这实际上是drools-compiler组件的一个层。请注意,由于JSR-94规范的性质,并非所有功能都通过此接口轻松公开。在某些情况下,直接使用Drools API会更容易,但在某些环境中,JSR-94是强制性的。
drools-decisiontables.jar - 这是决策表'编译器' component,使用drools-compiler组件。这支持excel和CSV输入格式。
参考: https://docs.jboss.org/drools/release/6.0.0.CR5/droolsjbpm-introduction-docs/html_single/#d0e58