私は、100 以上の依存関係をコンパイルする sbt 0.13.5 プロジェクトに取り組んでいます。typesafe.com
ここ韓国から/ scala-sbt.org
/のようなサーバーに到達するのに ~1 秒かかるmaven.org
ため、依存関係の解決が完了するまでに数時間かかります。そこで、次のようにして、ローカル ネットワークにインストールされたアーティファクトミラーを使用するように 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 サーバーに向けるトリックを行った後で初めて、最短のビルド時間を達成することができました。(すべての依存関係をプルしてplay-scala
サンプルをコンパイルするのに約 2 分)
sbt がリポジトリとリポジトリを完全に忘れてscala-sbt
、typesafe
構成されたローカル プロキシでのみ動作するようにする設定はありますか?