如何解决未解决的依赖关系(可能是另一个/最新版本)?

时间:2014-05-13 06:49:11

标签: sbt

显然,我的sbt项目中的传递依赖的版本已经受到冲击 - 但直接依赖并没有赶上"随着这种变化。

[error] (*:update) sbt.ResolveException: unresolved dependency: net.sf.py4j#py4j;0.7: not found

更新(且仅可用)版本为0.8(为什么他们这样做是另一个问题..)

我试图通过在旧版本号0.7下将新版本安装到我的本地maven仓库中来暂时解决这个问题,以便尝试安抚依赖库。

mvn org.apache.maven.plugins:maven-install-plugin:2.5.1:install-file  \
-Dfile=c:\shared\py4j-0.8.1.jar -DgroupId=net.sf.py4j  -DartifactId=py4j -Dversion=version=0.7 -Dpackaging=jar

但是,再次运行sbt时,同样的错误仍然存​​在。所以我需要另一种依赖解决策略。

1 个答案:

答案 0 :(得分:1)

如果将新版本声明为构建中的依赖项并force it(但猜测,则不需要它作为“By default, the latest revision is selected”)?

libraryDependencies += "net.sf.py4j" % "py4j" % "0.8" force()

它假设您已在resolvers中设置了本地Maven存储库 - 请参阅Resolvers

  

如果您将其添加为本地Maven存储库,它可以搜索您的本地Maven存储库   存储库:

resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository"