Dependencies sbt 0.13中的动态库依赖项不起作用?
我正在使用sbt 0.13构建多个Java项目。项目A在$HOME/maven2.artifacts/www/x/y/abc/1.0.1/abc-1.0.1.jar中发布库“abc”,并使用默认的“sbt publish”任务。它起作用了,图书馆如预期的那样在那里 项目B依赖于这个工件。它声明了一个解析器(所有代码都来自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
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"
)
然后projectdef_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"
)