首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Drools 6.4中使用严格模式解析方法

无法在Drools 6.4中使用严格模式解析方法
EN

Stack Overflow用户
提问于 2016-09-02 21:44:25
回答 2查看 5.9K关注 0票数 1

我们正在将drools版本从5.x迁移到6.4,除了编译问题之外,我们使用了之前使用的所有类和方法,例如迁移到新的包等。

当我们在maven中构建DT文件(xls)时,我遇到了下面的问题。

代码语言:javascript
复制
[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方言,如下所示

代码语言:javascript
复制
KnowledgeBuilderConfiguration kConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null,
                    classLoader);
kConf.setProperty("drools.dialect.mvel.strict", "false");
            KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kConf);

但同样的错误是occurred.Please帮助我修复的,我不确定,这与方言有关,或者需要更改DT文件。

非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2016-09-02 22:46:53

检查类com.svc.User中的属性模板的getters。它必须遵循惯例

public {OBJECT_TYPE} getTemplate(){ return template; }

这种类型的错误通常意味着它找不到具有此名称的方法(在本例中为template()),这通常意味着属性的getter有问题。

票数 3
EN

Stack Overflow用户

发布于 2019-05-21 21:31:45

我遇到了同样的错误,但我的问题(我最终解决了)是我将变量(在您的示例中为"template")声明为静态变量。因此get方法也是静态的(我使用了Eclipse的自动getter和setter生成)。一旦我摆脱了static修饰符,我的规则就工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39293933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档