【问题标题】:Local dependencies resolved by SBT but not by Play! Framework本地依赖由 SBT 解决,但不是由 Play!框架
【发布时间】:2013-04-30 08:01:21
【问题描述】:

我正在尝试使用来自 Play! 的本地发布库(使用 SBT 的 publish-local 发布)banana-RDF框架项目,但是当从 Play 的控制台运行 compile 时,没有解析想要的库,当从 SBT 的控制台使用 compile 时一切正常。

我发现这种行为很奇怪,因为 Play 使用 SBT 来解决依赖关系。顺便说一句,我在我的 Play 项目中使用的是 0.12.3 版本的 SBT。

我在使用 Play 编译时遇到的错误非常基本:

[warn]  module not found: org.w3#banana_2.10;2013_02_21-SNAPSHOT            
[warn] ==== local: tried
[warn]   /home_local/.installedSoftware/play-2.1.1/repository/local/org.w3/banana_2.10/2013_02_21-SNAPSHOT/ivys/ivy.xml
[warn] ==== Typesafe Releases Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Typesafe Snapshots Repository: tried
[warn]   http://repo.typesafe.com/typesafe/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Akka Snapshots: tried
[warn]   http://repo.akka.io/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== OSS117: tried
[warn]   http://oss.sonatype.org/content/repositories/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Local Maven Repository: tried
[warn]   file:///home_local/.m2/repository/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Local SBT Repository: tried
[warn]   file:///home_local/.ivy2/local/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom

谁能解释这里发生了什么?提前谢谢你。

【问题讨论】:

    标签: scala dependencies sbt playframework-2.1


    【解决方案1】:

    问题在于 SBT 的 publish-local 将您的库发布到 ~/.ivy2/local,而 Play 似乎将他的 ivy2 本地存储库指针指向他自己的安装文件夹(您的 /home_local/.installedSoftware/play-2.1.1/repository/local)的 ivy2 存储库。

    例如,您可以将此解析器添加到您的 Play 的Build.scala

    resolvers += Resolver.file("Local repo", file(System.getProperty("user.home") + "/.ivy2/local"))(Resolver.ivyStylePatterns)
    

    【讨论】:

    • 奇怪的是它对我不起作用(SBT 0.13)。我正在监视系统文件活动,而 SBT 甚至没有尝试转到上述文件夹。
    猜你喜欢
    • 2014-01-12
    • 2018-06-18
    • 2013-04-03
    • 2015-01-03
    • 1970-01-01
    • 2014-05-04
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多