Sbt ApacheIgnite-旧guava依赖冲突

Sbt ApacheIgnite-旧guava依赖冲突,sbt,Sbt,我得到以下错误: [error] ignite - Got exception while starting (will rollback startup routine). java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;

我得到以下错误:

[error] ignite - Got exception while starting (will rollback startup routine).
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
    at org.apache.curator.framework.listen.ListenerContainer.addListener(ListenerContainer.java:40)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl.start(CuratorFrameworkImpl.java:256)
    at org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.init(TcpDiscoveryZookeeperIpFinder.java:147)
    at org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.registerAddresses(TcpDiscoveryZookeeperIpFinder.java:206)
    at org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter.initializeLocalAddresses(TcpDiscoveryIpFinderAdapter.java:61)
    at org.apache.ignite.spi.discovery.tcp.TcpDiscoveryImpl.registerLocalNodeAddress(TcpDiscoveryImpl.java:317)
    at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:343)
    at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1846)
    at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:297)
    at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:882)
该项目使用Play框架,该框架依赖于带有ApacheIgnite的Guava22.0,但最新的ApacheIgnite版本依赖于Guava16.0。我使用的是SBT,所以Guava 16.0被淘汰,取而代之的是Guava 22.0。我想知道,是否有其他方法来解决依赖冲突,以便ignite使用Guava 16.0,而项目的其余部分使用Guava 22.0


我目前的想法是将ApacheIgnite分离成一个单独的子模块,并将依赖关系分离成一个非托管jar

在给罐子着色之前,尝试强制将番石榴版本设置为
16.0
,然后查看play是否与该版本兼容

要强制使用特定版本,请将以下内容添加到
build.sbt

dependencyOverrides += "com.google.guava" % "guava" % "16.0"

答案是在主项目中创建一个新的子项目,在其中存储ApacheIgnite依赖项。最后,对于主项目来说,它依赖于先前创建的jar文件