【发布时间】:2013-12-11 23:47:10
【问题描述】:
我正在使用 sbt 0.13 构建多个 Java 项目。项目 A 在 $HOME/maven2.artifacts/www/x/y/abc/1.0.1/abc-1.0.1.jar 中使用默认的“sbt publish”任务发布一个库“abc”。它工作正常,图书馆如预期的那样。
项目 B 依赖于这个工件。它声明了一个解析器(所有代码来自build.sbt):
resolvers ++= Seq(
"Developer's repo" at "file://"+Path.userHome.absolutePath+"/maven2.artifacts/www"
)
...和一个参考值:
val abc_core = "x.y" % "abc" % "1.0.1"
然后,它在项目定义中使用引用:
lazy val def_symbol=project settings(
name:="def-symbol",
libraryDependencies += abc_core
)
这行得通。但是,当我按照 sbt 文档的建议将值定义更改为使用动态修订 ID 时,将其设置为
val abc_core = "x.y" % "abc" % "1.0.+"
或
val abc_core = "x.y" % "abc" % "1.+"
它不再起作用了:
[warn] module not found: x.y#abc;1.+
[warn] ==== local: tried
[warn] /home/dh/.ivy2/local/x.y/abc/[revision]/ivys/ivy.xml
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/x/y/abc/[revision]/abc-[revision].pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: x.y#abc;1.+: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
我看到 sbt 似乎没有向我的基于文件的解析器询问依赖关系。那是问题吗?我该如何解决?
【问题讨论】:
标签: dependencies sbt