以下依赖关系适用于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
具有不同的版本,因此导致运行时异常。
如何解决这些依赖冲突。
答案 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。它对我有用。