我是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应该这样做:"默认情况下,这些声明可以获取所有项目依赖关系,传递"。)
我相信我一定做错了什么,但不知道 - 假设这个基本配置有多么简单和普遍 - 它可能是什么。
答案 0 :(得分:3)
标准,Maven风格的存储库声明如下:
resolvers += "myorg" at "http://host.com/content/groups/public"
更多详细信息位于Library Management页面上您链接的Resolvers页面。
通常,在指定非标准布局时,只使用Resolver.url
。