Drools Spring 与 Jasper Report 导致 CompilationResult 冲突

Drools Spring with Jasper Report is causing CompilationResult conflict

以下依赖项用于 jasperreport

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>3.7.2</version>
</dependency>

以上依赖导致包含 jdtcore jar 包含。

然后我对流口水有以下依赖性-spring

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-spring</artifactId>
    <version>5.6.0.Final</version>
</dependency>

这包括 ecj jar。

现在ecj和jdtcore有java个不同版本的文件org.eclipse.jdt.internal.compiler.CompilationResult,因此导致运行时异常。

如何解决这些依赖冲突。

您需要升级 jasperreport 版本,或者如果这不可能,则排除 jdtcore 并包含更新版本的 jdtcore,如下所示:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
     <exclusions>
              <exclusion>
                   <groupId>eclipse</groupId>
                    <artifactId>jdtcore</artifactId>
              </exclusion>
      </exclusions>
</dependency>

<dependency>
    <groupId>eclipse</groupId>
    <artifactId>jdtcore</artifactId>
    <version>3.2.0.v_658</version>
</dependency>

在此之后从 drools 中排除 ecj jar-spring

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-spring</artifactId>
    <version>5.6.0.Final</version>
     <exclusions>
           <exclusion>
               <groupId>org.eclipse.jdt.core.compiler</groupId>
               <artifactId>ecj</artifactId>
                </exclusion>
      </exclusions>
</dependency>

这将解决 类 冲突

对于上述冲突,我不得不更新 jdtcore 版本的版本并从 drools 中排除 ecj jar。它以这种方式对我有用。