java - 如何在没有 Eclipse 或任何其他 IDE 的情况下配置 drools

标签 java drools rule-engine

我收到了如何在 Eclipse 或其他 IDE 中安装 drools 插件的示例。但是我如何在不使用像 eclipse 这样的 IDE 的情况下配置 drools。

最佳答案

  1. 创建 Maven 项目(使用您最喜欢的 IDE 或命令行)

  2. 将 Drools 编译器依赖项和一些日志记录兼容库添加到您的 pom.xml(主 Maven 项目文件):

    <dependencies>
        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-compiler</artifactId>
            <version>6.3.0.Final</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.5</version>
       </dependency>
    </dependencies>
    
  3. 使用以下内容创建 src/main/resources/META-INF/kmodule.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule" />
    
  4. 创建 DRL 文件,例如 src/main/resources/myrules.drl

    rule "hello"
        when
            $name : String()
        then
            System.out.println("Hello "+$name);      
    end
    
  5. 创建基于 KieService 的代码:

    import org.kie.api.KieServices;
    import org.kie.api.runtime.KieContainer;
    import org.kie.api.runtime.KieSession;
    
    public class Main {
    
        public static void main(String[] args) {
    
            KieServices ks = KieServices.Factory.get();
            KieContainer kcontainer = ks.getKieClasspathContainer();                
            KieSession ksession = kcontainer.newKieSession();
    
            String name="Xeetu";      
            ksession.insert(name);
    
            ksession.fireAllRules();                
        }
    }
    

关于java - 如何在没有 Eclipse 或任何其他 IDE 的情况下配置 drools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39504729/

相关文章:

java - 如何在口水中倍增长度

azure - 规则引擎在 Azure 上的流分析中意味着什么?

java - 有没有办法从类路径外部导入规则文件?

java - Java中使用ArrayList实现Bfs

java - 关于覆盖变量的地方有点困惑

java - KeyListener 不起作用

unit-testing - 有什么方法可以评估 Drools 规则引擎中 drl 文件的测试覆盖率吗?

java - Drools 嵌套聚合

asp.net-mvc - MvcContrib.CommandProcessor.RulesEngine 教程

java - GridBagLayout 未将按钮锚定到 PAGE_END