我们最近从Drools 5升级到Drools 6,并遇到了令人不安的冲突问题。
我们已经将kie-ci导入到out项目中。kie-ci引入了sisu-guava。sisu-guava改变了谷歌芭乐中一些类的可访问性。不幸的是,它使用了与google的芭乐相同的包名。
由于我们在项目中使用google的芭乐,我们遇到了类冲突。试图从项目中删除sisu-guava (使用maven exclusion)会导致可访问性异常,因为kie-ci代码试图访问在sisu-guava中是公共的,但在google的芭乐中是私有的类。
有没有办法解决这个问题。
发布于 2015-02-01 02:15:55
这可能不是所有情况的正确解决方案,但我能够通过在我的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>发布于 2015-06-04 00:01:42
我在使用drools 6.2时似乎也遇到了同样的问题。Drools依赖于guava 10.0.1,因为我的项目依赖于guava 16,而maven选择了版本16 (正确)。
在检查依赖关系树时,我发现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>https://stackoverflow.com/questions/25870519
复制相似问题