Java Drools Spring与Jasper报告导致编译结果冲突

Java Drools Spring与Jasper报告导致编译结果冲突,java,spring,drools,Java,Spring,Drools,下面是jasperreport的依赖项 <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>3.7.2</version> </dependency> 这包括ecjjar 现在ecj和jdtcore有不同版本的java文件org

下面是jasperreport的依赖项

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>3.7.2</version>
</dependency>
这包括
ecj
jar

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


如何解决这些依赖冲突。

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

这将解决类冲突

对于上述冲突,我必须更新jdtcore版本,并从drools中排除ECJJAR。这对我来说很有效

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