我正在开发一些 sbt 0.13.5 项目,这些项目需要编译 100 多个依赖项。从韩国这里到达 typesafe.com
/scala-sbt.org
/maven.org
等服务器需要约 1 秒的时间,这使得依赖性解析需要几个小时才能完成。所以我设法设置 sbt 使用 artifactory镜像安装在本地网络上,通过:
● 保存~/.sbt/repositories
如下,
[repositories]
local
ivy-proxy-releases: http://artifactory.local:8088/artifactory/ivy-release, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-proxy-releases: http://artifactory.local:8088/artifactory/libs-release
maven-proxy-shapshots: http://artifactory.local:8088/artifactory/libs-snapshot
● 在 ~/.sbt/0.13/plugins/build.sbt
顶部添加以下行
sbtResolver := Resolver.url("ivy proxy repo", url("http://artifactory.local:8088/artifactory/ivy-release"))(Resolver.ivyStylePatterns)
● 将同一行添加到本地项目目录的./project/plugins.sbt
通过执行这些操作,我可以大大减少拉取依赖项 jar 所需的时间,但 sbt 仍在访问 repo.scala-sbt.org
和 repo.typesafe.com
只是为了得到一些 404(有很大的延迟)。
因此,只有在我使用 /etc/hosts
技巧将这些域指向虚拟 Web 服务器后,我才能实现最短的构建时间。 (大约 2 分钟即可提取所有依赖项并编译 play-scala
示例)
是否有一个设置可以使 sbt 完全忘记 scala-sbt
和 typesafe
存储库并仅使用配置的本地代理?
最佳答案
关于sbt - 让 sbt 完全忘记 repo.scala-sbt.org 和 repo.typesafe.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24880808/