用Jasper报告Drools Spring导致CompilationResult冲突

时间:2018-01-21 05:35:31

标签: java spring drools

以下依赖关系适用于jasperreport

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

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

然后我对drools-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具有不同的版本,因此导致运行时异常。

如何解决这些依赖冲突。

2 个答案:

答案 0 :(得分:1)

您需要升级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-spring

之后排除ecj jar
<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>

这将解决类冲突

答案 1 :(得分:0)

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