我已经定义了几个额外的解析器,它们由resolvers
显示:
[clearspan]> show resolvers
[info] List(bt: http://maven.[redacted].com/artifactory/repo/, Local Maven Repository: file:///home/dan/.m2/repository, Oracle: http://download.java.net/maven/2, localMaven: file:///home/dan/.m2/repository)
但是,当我运行update
时,它只会尝试Maven Central
。知道为什么吗?
> update
[info] Updating {file:/home/dan/l/clearspan/}cs-trading-processor...
[warn] [NOT FOUND ] javax.resource#connector;1.0!connector.jar (44ms)
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/javax/resource/connector/1.0/connector-1.0.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: javax.resource#connector;1.0!connector.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[info]
[warn] :: problems summary ::
[warn] :::: WARNINGS
[warn] [NOT FOUND ] javax.resource#connector;1.0!connector.jar (44ms)
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/javax/resource/connector/1.0/connector-1.0.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: javax.resource#connector;1.0!connector.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[info]
[info] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
[error] {file:/home/dan/l/[redacted]/}[redacted]/*:update: sbt.ResolveException: download failed: javax.resource#connector;1.0!connector.jar
[error] Total time: 2 s, completed Sep 7, 2011 4:51:11 PM
答案 0 :(得分:3)
根据文档Library dependencies部分Resolvers:
并非所有包都存在于同一台服务器上; sbt使用标准的Maven2 存储库默认情况下如果您的依赖项不是默认值之一 存储库,你必须添加
resolver
来帮助常春藤找到它。
您可以使用resolvers
设置执行此操作:
resolvers += name at location
你做到了,但没有用。
在Overriding default resolvers中,您可以阅读:
resolvers
不包含默认解析器;只有额外的 由您的构建定义添加。sbt将解析器与一些默认存储库结合起来形成
externalResolvers
。因此,要更改或删除默认解析器,您需要 覆盖
externalResolvers
而不是resolvers
。
在你的回答中你说使用externalResolvers
有帮助,但我怀疑(抱歉)。
我认为问题出在您定义新resolvers
的位置。解决方案似乎来自顶级项目,而您可能一直在使用多项目构建,并且resolvers
设置未被提取。
我认为解决方案是使用resolvers
或in ThisBuild
为给定项目定义构建的in [projectName]
设置,其中projectName
替换为正确的项目名称设置的值应设置为。
答案 1 :(得分:0)
我本应该设置externalResolvers
。