2012-09-12 70 views
1

我想將java編譯器級別更改爲1.6,但它似乎不適用於我。我試圖在後果部分使用泛型。Drools - 更改Java編譯器級別

以下是我用來更改編譯器級別的代碼。

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); 

讓我知道我錯了。

感謝您的幫助。

回答

0

Janino故意不支持泛型。這似乎是一個有意識的決定,所以新版本不太可能會有變化。他們也不會支持增強的for()循環和枚舉,這兩個我也在Drools中錯過了。

檢查出Janino webpage,在右下角附近他們不支持。

如果你從你的例子中拿出「JANINO」這一行,我會好奇你是否可以開始使用它們。 (默認編譯器是eclipse編譯器,至少這是我最後一次檢查。

+0

根據http://janino-compiler.github.io/janino/它現在支持增強for循環,並且支持一些枚舉。 –