gpt4 book ai didi

java - 升级到 Java 7 时出现 Drools 规则编译错误

转载 作者:行者123 更新时间:2023-12-02 05:48:23 30 4
gpt4 key购买 nike

我在我的 Java 项目中使用 Drools (5.5.0) 规则(使用 maven 2.2.1 管理)。它在 Java 6 (1.6.0_45) 中工作正常,但是当我迁移到 Java 7 (1.7.0_51) 并构建时,某些规则会出现如下规则编译错误:

Rule Compilation error : [Rule name='SampleRuleName']
com/sample/event/rules/simple/Rule_SampleRuleName46467274.java (2:486) : Syntax error, static imports are only available if source level is 5.0
com/sample/event/rules/simple/Rule_SampleRuleName46467274.java (2:500) : The import com.sample.event.rules.simple.TransformEvent.transformEvent cannot be resolved
com/sample/event/rules/simple/Rule_SampleRuleName46467274.java (7:1082) : The method transformEvent(TransformedEventCallBackHandler, EventTemplate, FirmwareEvent) is undefined for the type Rule_SampleRuleName46467274

“静态导入仅在源级别为 5.0 时可用”错误表明 drools 编译器将源级别设置为小于 5,但为什么要这样做呢?我已经更新了 JAVA_HOME 和 pom.xml。它应该从那里获取 Java 源代码级别,对吗?

最佳答案

升级到 Drools 6,此问题已修复。最近,我们在 Drools 6.0 中遇到了 Java 8 的类似问题,该问题已在 6.1 中修复(以及最新版本的 6.0)。

java 8 的原因是 drools 识别 java 版本 1.6、1.7,但不识别 1.8,此时它默认为 1.6。我怀疑 drools 5.5(旧的)对于 java 7 也有同样的问题。

关于java - 升级到 Java 7 时出现 Drools 规则编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826895/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com