2012-04-05 71 views
1

我想安装一个安装类型安全堆栈的sbt实例,只使用我的私有nexus存储库的所有依赖项。sbt 0.11.2:只使用企业nexus存储库的依赖关系

但无论我尝试什么,依赖项都从http://repo.typesafe.com/typesafe/releases下载。我已经尝试了很多解决方案,尤其是那些解释为here,herehere的解决方案。

我甚至试图更改sbt-launch.jar中的sbt.boot.properties,但没有运气。在类型安全堆栈中有什么特别的东西可以防止在这方面改变sbt行为?

顺便说一下,我想使用nexus + local来处理所有事情,而不仅仅是项目依赖项:依赖项,插件,需要下载的所有东西。

回答

1

检查您是否清除了以下文件夹〜/ .sbt的内容,因为它可能包含对类型安全解析程序的引用。

在你Build.scala或任何名.bst文件(插件或建设),确保所有的解析器现在都指向您的Nexus仓库。

确保您的SBT启动脚本是这样的:

的Java -Dsbt.boot.properties = sbt.boot.properties -XX:+ CMSClassUnloadingEnabled -XX:MaxPermSize参数=256米-Xmx512M -jar -Xss2m dirname $0/sbt-launch.jar“$ @”

让我知道如果这不起作用。

Krishnen

+1

它的做工精细。谢谢。现在是一个后续问题。该库需要基本身份验证,除了存储在URL中的凭据在sbt.boot.propeties库什么是对子级设置它们的最佳地点? – 2012-04-14 13:44:43

2

只想说,在SBT 0.12,我们特别想满足这一需求/关注。我们现在完全支持来自启动器 - >项目的代理存储库。

基本上,在SBT 0.12.3(播放2.1)只需创建一个文件:~/.sbt/repositories

[repositories] 
    local 
    my-ivy-proxy-releases: http://repo.company.com/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] 
    my-maven-proxy-releases: http://repo.company.com/maven-releases/ 

然后开始SBT时,我们-Dsbt.override.build.repos=true

您还可以使用-Dsbt.repository.config=<path-to-your-repo-file>

指定不同的代理文件

希望这有助于! - 乔希

请参阅:http://www.scala-sbt.org/release/docs/Detailed-Topics/Proxy-Repositories.html以获取更多信息。