我们希望使用公司内部常春藤/ maven存储库(artifactory)来提高解析速度和下载jar文件,并且我们还希望使用它来交换组织中不同团队之间的二进制jar文件.
我知道我们可以通过设置强制SBT去通过代理~/.repositories与
[repositories]
local
my-ivy-proxy-releases: http://repo.alpinenow.com/artifactory/repo/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
my-maven-proxy-releases: http://repo.alpinenow.com/artifactory/repo/
Run Code Online (Sandbox Code Playgroud)
然后启动SBT -Dsbt.override.build.repos=true.这种方法适合我.
但是,要求所有开发人员以这种方式设置是很麻烦的.我们想知道我们是否可以在Build.scala和plugin.sbt中完全覆盖默认的解析器而无需额外的配置.
到目前为止,我已经尝试了以下方法但没有成功.
1)在Build.scala和plugin.sbt中,我补充道
resolvers := "Local Repo" at "http://repo.alpinenow.com/artifactory/repo/",
externalResolvers := Seq(Resolver.url("Local Repo", url("http://repo.alpinenow.com/artifactory/repo"))(Resolver.ivyStylePatterns)),
Run Code Online (Sandbox Code Playgroud)
但它仍然从typesafe和maven1下载罐子.
2)然后我决定将存储库文件放入项目文件夹,并尝试直接在plugin.sbt和Build.scala中添加java选项
System.setProperty("-Dsbt.override.build.repos", "true"),
System.setProperty("-Dsbt.repository.config", "project/repositories"),
Run Code Online (Sandbox Code Playgroud)
但它仍然无效.我很好奇SBT获得解析器的java选项,因为很明显,它是在plugin.sbt和Build.scala之前.
任何的想法?
谢谢.
DB蔡