相关疑难解决方法(0)

(SBT)如何禁用默认解析程序并仅使用公司内部解析程序?

我们希望使用公司内部常春藤/ 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蔡

scala nexus artifactory sbt

12
推荐指数
2
解决办法
5972
查看次数

标签 统计

artifactory ×1

nexus ×1

sbt ×1

scala ×1