【问题标题】:SBT doesn't seem to download transitive dependencies with a custom repository?SBT 似乎没有使用自定义存储库下载传递依赖项?
【发布时间】:2011-10-09 11:24:06
【问题描述】:

我是 SBT 新手,使用 1.0 版和自定义存储库,并且我设置了提到 here 的“retrieveManaged”标志,但似乎 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

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

我相信我一定做错了什么,但不知道——考虑到这个基本配置是多么简单和普通——它可能是什么。

【问题讨论】:

    标签: sbt


    【解决方案1】:

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

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

    更多详细信息在您链接到的Library Management 页面和Resolvers 页面上。

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

    【讨论】:

    • 如果这个答案没有帮助,请在cleanshow dependency-classpath 的输出之后发布last update 的输出,假设没有错误消息。
    猜你喜欢
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2020-09-19
    • 2014-08-08
    相关资源
    最近更新 更多