Drools / Java 8兼容性

时间:2018-01-17 13:09:14

标签: drools compatibility

我正在尝试使用Drools进行规则验证,并且我在Java 8中遇到错误。根据现有的建议,我确实将eclipse编译器升级到4.4并查看我的maven依赖项中生成的相应ecj-4.4.jar 。但是,我仍然得到错误的类格式异常:

引起:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException。

我尝试使用不同版本的drools,包括6.4.0.Final,5.0.1 - 但问题仍然存在。

当我尝试使用Stateless kie会话而不是有状态的kie会话时,我收到此错误。

有什么想法吗?

最诚挚的问候, 仪轨

1 个答案:

答案 0 :(得分:0)

如果您使用的是drools编译器依赖项,请在pom.xml

下面进行更改
<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-compiler</artifactId>
    <version>${drools.version}</version>
    <exclusions>
           <exclusion>
               <groupId>org.eclipse.jdt.core.compiler</groupId>
               <artifactId>ecj</artifactId>
                </exclusion>
      </exclusions>
</dependency>

如果你正在使用drools-spring依赖:

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-spring</artifactId>
    <version>${drools-spring-version}</version>
     <exclusions>
           <exclusion>
               <groupId>org.eclipse.jdt.core.compiler</groupId>
               <artifactId>ecj</artifactId>
                </exclusion>
      </exclusions>
</dependency>

您遇到的错误可能是因为有多个版本的ecj jar而Java正在选错。