我们正在将drools版本从5.x迁移到6.4,除了编译问题之外,我们使用了之前使用的所有类和方法,例如迁移到新的包等。
当我们在maven中构建DT文件(xls)时,我遇到了下面的问题。
[ERROR] ## Errors [Unable to Analyse Expression template != null:
[Error: unable to resolve method using strict-mode: com.svc.User.template()]
[Near : {... template != null ....}]注意-用户类遵循Java Bean标准。
我还尝试禁用maven方言,如下所示
KnowledgeBuilderConfiguration kConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null,
classLoader);
kConf.setProperty("drools.dialect.mvel.strict", "false");
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kConf);但同样的错误是occurred.Please帮助我修复的,我不确定,这与方言有关,或者需要更改DT文件。
非常感谢。
发布于 2016-09-02 22:46:53
检查类com.svc.User中的属性模板的getters。它必须遵循惯例
public {OBJECT_TYPE} getTemplate(){ return template; }
这种类型的错误通常意味着它找不到具有此名称的方法(在本例中为template()),这通常意味着属性的getter有问题。
发布于 2019-05-21 21:31:45
我遇到了同样的错误,但我的问题(我最终解决了)是我将变量(在您的示例中为"template")声明为静态变量。因此get方法也是静态的(我使用了Eclipse的自动getter和setter生成)。一旦我摆脱了static修饰符,我的规则就工作得很好。
https://stackoverflow.com/questions/39293933
复制相似问题