Drools实战入门记录
最近公司项目需要用到规则引擎,于是花了一天时间简单看了下Drools,同时照着官方教程搭建了一个项目,本文主要记录搭建过程中遇到的问题以及解决方案。
环境
- jdk1.8
- eclipse 4.10.0
- Drools 7.19.0
Drools官方下载页有多种选择,其中Drools and jBPM tools既包括了Drools Engine,又提供了eclipse的插件,这里笔者用的也是这个包。
安装插件
解压后根目录下会生成ReadMeDroolsJbpmTools.txt,插件的安装过程可以直接参考该文件的描述。笔者在安装过程中提示以下两个插件无法安装
JBoss Runtime Drools Detector
JBoss Runtime Drools Detector Developer Resources
上网查了下,发现提供的解决方案都是先通过Help->Install new software从http://download.jboss.org/jbosstools/updates/stable/luna/
下载并安装JBoss Application Development和JBoss Business Intelligence,然后再次安装之前那两个插件。
创建项目
创建项目的时候选择Drools Project,然后按照wizard引导操作。中间碰到需要配置drools runtime的地方,将路径指向之前解压的Drools and jBPM tools安装目录的binaries子目录即可。
运行测试
运行程序的时候提示找不到slf4j包
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
从slf4j官方下载了slf4j-1.7.25.zip,解压后发现目录下有多个jar包。第一次试着选择slf4j-nop-1.7.25.jar,运行程序结果没有任何输出。第二次换成slf4j-simple-1.7.25.jar,提示drl文件的package语句和实际所在目录不符,修改后成功输出结果。
jBPM项目
Drools可以集成jBPM,用jBPM来进行流程的控制。不过在eclipse中通过Configure->Convert to jBPM Project进行转换没有任何效果,还是需要自己手动添加jBPM的jar包依赖,不过所有的jar包都可以在之前下载的Drools and jBPM tools中找到。