1

尝试编写使用菱形运算符的规则的结果。收到以下错误消息。java.version 系统属性设置为 1.7,JavaDialectConfiguration 类获取语言级别为 1.7,为什么 drools 无法编译菱形运算符?

Incorrect number of arguments for type HashMap<K,V>; it cannot be parameterized with arguments <?>

示例规则:

package rule.test;
import java.util.Map;
import java.util.HashMap;

dialect "java"

rule "Test jdk 7"
when
then
Map<String, String> params= new HashMap<>();
end
4

1 回答 1

0

5.4.0.Final 或 5.5.0.Final 的 drools 编译器 maven 神器正在拉取 3.5.1 版本的 eclipse 核心编译器。

<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>3.5.1</version>

当我将最新版本的 JDT 编译器放入我的 pom 时,问题得到解决。

<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.2.2</version>
<scope>runtime</scope>
</dependency>
于 2013-07-30T16:38:21.633 回答