Drools core jar与jdt-compile.jar冲突的解决办发

使用drools的时候发现它和项目里面的jdt-compile.jar冲突,报找不到‘org.eclipse.jdt.internal.complier.ComplierResult.getProblems()’方法,为了避免这个问题我决定使用Janino compiler。

 

只要将初始化KnowledgeBuilder得java语句加入下面这个配置就可以了:

 

 Properties props = new Properties();
        props.setProperty("drools.dialect.java.compiler", "JANINO");
        KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(props, null);
        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);
 

不要使用官方网站提供和的:

kconfig.setProperty("drools.dialect.java.compiler", "JANINO"); 

 这个没有效果,我试过了。详细可以参见:

http://n3.nabble.com/Drools-5-0-can-t-make-it-use-Janino-compiler-always-wants-eclipse-jar-td104392.html

 

另外可以参考:

http://community.jboss.org/wiki/RulesTomcat

 

这也是一个解决方案。

 

另外,我使用Janino 后发现rule执行不了,总是报nullpointException,不知道为什么,如果你知道,请给我留个言。谢谢!

你可能感兴趣的:(eclipse,html,jboss,单元测试)