SBT似乎没有下载自定义存储库的传递依赖项?

时间:2011-07-20 14:44:14

标签: sbt

我是SBT的新手,使用版本1.0和自定义存储库,我已经设置了" retrieveManaged" flag提到here,但似乎SBT只下载直接请求的JAR,但不下载这些JAR所依赖的任何JAR。是的,存储库使用的是答案here中描述的惯用默认格式(虽然SBT / Ivy似乎也无法检索快照,但我认为这是一个单独的问题) 。存储库不需要任何类型的身份验证,仅供参考。

这是我的built.sbt文件的一个稍微泛化的版本:

name := "MyProject"

organization := "com.myorg"

version := "0.1"

scalaVersion := "2.9.0"

scalacOptions += "-deprecation"

retrieveManaged := true

resolvers += Resolver.url("myorg", url("http://host.com//content/groups/public"))

libraryDependencies += "com.myorg" % "otherproject" % "1.0"

fork in run := true

要求的"其他项目" JAR文件加载正常,但SBT / Ivy似乎没有兴趣打开它的POM并下载它需要运行的其他JAR。这似乎应该是一个相当基本的功能(例如,Maven就是这样做),但我不知道如何说服SBT / Ivy这样做。 (事实上​​,SBT的documentation assures us应该这样做:"默认情况下,这些声明可以获取所有项目依赖关系,传递"。)

我相信我一定做错了什么,但不知道 - 假设这个基本配置有多么简单和普遍 - 它可能是什么。

1 个答案:

答案 0 :(得分:3)

标准,Maven风格的存储库声明如下:

resolvers += "myorg" at "http://host.com/content/groups/public"

更多详细信息位于Library Management页面上您链接的Resolvers页面。

通常,在指定非标准布局时,只使用Resolver.url