JBoss Drools的可视化规则设计工具包在Drools 4.0的时候叫drools-jbrms。
drools-jbrms需要JDK1.5或以上版本,本文以drools 4.0.7的drools-jbrms包在Tomcat 6.0下部署为例。
第1步
按照JBoss官方提供的文档处理
删除war包中的el-api.jar
删除Tomcat的lib目录下的jsf-api.jar和jsf-impl.jar(本来不存在就不用管了)
将下载后的jboss_jsf_libs.zip解压到Tomcat的lib目录下
第2步
启动Tomcat。drools-jbrms会在Tomcat的bin目录下新建repository目录(包括很多子目录),同时会报无法启动的异常。异常信息为Caused by: javax.jcr.RepositoryException: internal error: failed to read custom node type definitions stored in custom_nodetypes.xml: Premature end of file.: Premature end of file.
(注意,这里我是在Tomcat/bin目录下用startup.bat启动的,如果不是这种方式repository的位置可能有所不同)
第3步
将本文提供的custom_nodetypes.xml覆盖Tomcat下的bin/repository/repository/nodetypes的同名文件。
第4步
重新启动
原因:drools-jbrms包含的某些功能在Tomcat下有问题,生成custom_nodetypes.xml时没有生成文件内容,所以报错。从网上查询,最迟2007年就有人报这个问题了。看来JBoss的对于非JBoss应用服务器的兼容问题考虑不多。