社内の ivy/maven リポジトリ (artifactory) を使用して、jar ファイルの解決とダウンロードの速度を向上させたいと考えています。また、それを使用して、組織内の異なるチーム間でバイナリ jar ファイルを交換したいと考えています。
~/.repositories
で設定することにより、SBTにプロキシを強制的に通過させることができることを知っています
[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/
で 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)),
ただし、typesafe と maven1 から jar をダウンロードします。
2)次に、リポジトリファイルをプロジェクトフォルダーに配置することにし、Javaオプションをplugin.sbt内に直接追加しようとしました.Build.scalaで
System.setProperty("-Dsbt.override.build.repos", "true"),
System.setProperty("-Dsbt.repository.config", "project/repositories"),
しかし、それでも機能しません。SBT がリゾルバーの Java オプションをいつ取得するかは、明らかに plugin.sbt と Build.scala の前なので、興味があります。
何か案が?
ありがとう。
DB ツァイ