1

我正在尝试设置一个与类型安全堆栈一起安装的 sbt 实例,以便仅将我的私有 nexus 存储库用于所有依赖项。

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

我什至尝试更改 sbt-launch.jar 中的 sbt.boot.properties 但没有运气。类型安全堆栈中是否有一些特殊的东西可以防止在这方面改变 sbt 行为?

顺便说一句,我想对所有内容使用 nexus + local,而不仅仅是项目依赖项:依赖项、插件,以及 sbt 需要下载的所有内容。

4

2 回答 2

3

只是想说,在 sbt 0.12 中,我们专门尝试解决这个需求/问题。我们现在完全支持启动器 -> 项目中的代理存储库。

基本上,在 sbt 0.12.3 (Play 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了解更多信息。

于 2013-06-07T13:59:56.277 回答
1

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

在您的 Build.scala 或任何 .sbt 文件(插件或构建)中,确保您的所有解析器现在都指向您的 nexus 存储库。

确保您的 sbt 启动脚本如下所示:

java -Dsbt.boot.properties=sbt.boot.properties -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M -jar dirname $0/sbt-launch.jar "$@"

让我知道这是否行不通。

克里希宁

于 2012-04-10T13:10:36.677 回答