让sbt完全忘记repo.scala-sbt.org和repo.typesafe.com
我正在从事一些SBT0.13.5项目,这些项目需要编译100多个依赖项。从韩国这里到像让sbt完全忘记repo.scala-sbt.org和repo.typesafe.com,sbt,artifactory,resolver,Sbt,Artifactory,Resolver,我正在从事一些SBT0.13.5项目,这些项目需要编译100多个依赖项。从韩国这里到像typesafe.com/scala sbt.org/maven.org这样的服务器大约需要1秒钟,这使得依赖关系解决需要数小时才能完成。因此,我成功地通过以下方式设置sbt以使用安装在本地网络上的镜像: ● 保存~/.sbt/repositories,如下所示: [repositories] local ivy-proxy-releases: http://artifactory.local:8088
typesafe.com
/scala sbt.org
/maven.org
这样的服务器大约需要1秒钟,这使得依赖关系解决需要数小时才能完成。因此,我成功地通过以下方式设置sbt以使用安装在本地网络上的镜像:
● 保存~/.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分钟拉取所有依赖项并编译播放scala
示例)
是否有一种设置可以使sbt完全忘记
scala sbt
和typesafe
repos,并且只与配置的本地代理一起工作?您可以使用设置sbt.override.build.repos覆盖生成repos,如下所示:。
同样的问题也有一个答案