Dependencies sbt 0.13中的动态库依赖项不起作用?

Dependencies sbt 0.13中的动态库依赖项不起作用?,dependencies,sbt,Dependencies,Sbt,我正在使用sbt 0.13构建多个Java项目。项目A在$HOME/maven2.artifacts/www/x/y/abc/1.0.1/abc-1.0.1.jar中发布库“abc”,并使用默认的“sbt publish”任务。它起作用了,图书馆如预期的那样在那里 项目B依赖于这个工件。它声明了一个解析器(所有代码都来自build.sbt): …和一个参考值: val abc_core = "x.y" % "abc" % "1.0.1" 然后,它在项目定义中使用引用: lazy val def

我正在使用sbt 0.13构建多个Java项目。项目A在$HOME/maven2.artifacts/www/x/y/abc/1.0.1/abc-1.0.1.jar中发布库“abc”,并使用默认的“sbt publish”任务。它起作用了,图书馆如预期的那样在那里

项目B依赖于这个工件。它声明了一个解析器(所有代码都来自
build.sbt
):

…和一个参考值:

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.+"

它不再工作了:

[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似乎没有向我的基于文件的解析器询问依赖关系。这就是问题所在吗?我该怎么解决呢?

问题解决了。我必须在全局范围内声明解析器扩展,以便子项目也使用它:

resolvers in Global ++= Seq(
  "Developer's repo" at "file://"+Path.userHome.absolutePath+"/maven2.artifacts/www"
)
然后project
def_symbol
也使用“开发者的回购”,并且在像
“1.0.+”
“1.+”
这样的版本中,一切都完全按照预期工作

全局作用域中没有可用的解析器,但库解析仍然可以工作,这是因为Ivy的本地缓存中有另一个版本的版本1.0.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]  ::::::::::::::::::::::::::::::::::::::::::::::
resolvers in Global ++= Seq(
  "Developer's repo" at "file://"+Path.userHome.absolutePath+"/maven2.artifacts/www"
)