问题描述:写了个drools的规则文件,eclipse的编辑框的左侧行号上没有给出红叉(出错标志),但是左侧的项目结构中对应的文件上出现红叉,同时执行的时候报错。
可能的原因有很多,会陆续整理。
可能的原因1:参数arraylist< Long> param无法被解析,爆出class not found错误。
修改方法:将参数改为list param。
参见:Unable to find class` error in Drools
补充:出现红叉之后,该drools文件可能无法被程序访问到,进而引发drool 文件找不到或者无法被加载异常。
原因2:drools文件中的全局变量包括我们写的类(而不仅仅是Interger String等),但是该类所在的包 没有在drools文件的package中。
举个栗子:我们在包pkg1中定义了类TestClass,同时在drools文件里的全局变量里有global TestClass testClass,这时候drools文件的第一行应该写上
package pkg1
。否则Drools找不到TestClass这个类。