Drools 6 sisu-guava与番石榴冲突

时间:2014-09-16 13:46:02

标签: maven guava drools

我们最近从Drools 5升级到了Drools 6,并遇到了令人不安的冲突问题。

我们已将kie-ci导入到项目中。 kie-ci带来sisu-guavasisu-guava更改了Google的番石榴中某些类的可访问性。不幸的是,它使用与谷歌的番石榴相同的包名。

由于我们在项目中使用谷歌的番石榴,我们遇到了类的冲突。 尝试从项目中删除sisu-guava(使用maven排除)会导致可访问性异常,因为kie-ci代码尝试访问在sisu-guava中公开但在google的番石榴中是私有的类。 / p>

任何想法如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

对于所有情况,这可能不是正确的解决方案,但我能够通过排除我的pom中的susi-guava jar来解决这个问题:

    <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-kie-services</artifactId>
        <version>${jbpm.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.sonatype.sisu</groupId>
                <artifactId>sisu-guava</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

答案 1 :(得分:0)

我似乎在使用drools 6.2时遇到了同样的问题。 Drools依赖于番石榴10.0.1,因为我的项目依赖于番石榴16而且maven正在挑选版本16(正确)。

在检查依赖树时,我发现对guava的drools依赖性由“org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.0.0.M5:runtime”决定。

有一个较新版本的org.eclipse.sisu.plexus,所以我将以下内容添加到我的项目的pom中以获取最新版本,即:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.eclipse.sisu</groupId>
      <artifactId>org.eclipse.sisu.plexus</artifactId>
      <version>0.3.1</version>
    </dependency>
  </dependencies>
</dependencyManagement>

现在,似乎没有对番石榴的依赖,对于drools而且问题已经解决,我的项​​目可以使用番石榴版本16。