1

我想将 java 编译器级别更改为 1.6,但它似乎对我不起作用。我试图在结果部分使用泛型。

以下是我用来更改编译器级别的代码。

Drools 版本:5.2.1 GA * JDK 版本:1.6 *

final Properties properties = new Properties();
properties.setProperty("drools.dialect.java.compiler", "JANINO");
properties.setProperty("drools.dialect.default", "java");
properties.setProperty("drools.compiler.lnglevel", "1.6");


PackageBuilderConfiguration packageBuilderConfiguration =
      new PackageBuilderConfiguration(properties,(ClassLoader[]) null);

final KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory
                .newKnowledgeBuilder(packageBuilderConfiguration);

让我知道我哪里出错了。

谢谢您的帮助。

4

1 回答 1

0

Janino 故意不支持泛型。这似乎是一个有意识的决定,所以新版本不太可能改变。它们也不会支持增强的 for() 循环和枚举,我在 Drools 中也逐渐错过了这两者。

查看Janino 网页,在他们不支持的内容的右下角附近。

如果您从示例中取出“JANINO”行,我会很好奇您是否可以开始使用它们。(默认的编译器是eclipse编译器,至少这是我最后一次检查。

于 2013-04-23T06:53:24.980 回答