6

(Activator のドキュメントにはありません
) ファイル build.sbt に次のエントリ (太字) を追加することで、Activator に既存のローカル Maven リポジトリも使用させることができるようです。

リゾルバー += Seq( "ローカル Maven リポジトリ" at "file://q:/repositories/maven",
"Sonatype OSS スナップショット" at " https://oss.sonatype.org/content/repositories/snapshots " )

それが機能するかどうかはわかりませんが、とにかく、このアプローチの問題は、プロジェクト構造が既に作成されている必要があることです(したがって、ダウンロードによってローカルリポジトリが作成され、自動的に入力されます。ローカル Maven リポジトリを使用する必要があるプロジェクト構造を作成しますか?

ヒントをお寄せいただきありがとうございます。

4

1 に答える 1

10

Activator は sbt-launcher を利用します。sbt-launcher を使用して、sbt が各プロジェクトおよびランチャー自体に対して デフォルトで使用するリポジトリを制御できます。

アクティベーター ランチャー自体を変更する場合は、jar ファイルを解凍し、sbt/boot.properties含まれているファイルを確認してください。sbt のランチャー ドキュメントで概説されている形式を使用して、ローカルの Maven リポジトリをリストに追加できます。

将来のより単純なオプション (ただし、現在のプロパティ ファイルでは有効になっていません) は、オーバーライドリポジトリ構成ファイルを持つランチャーの機能です。参照: Sbt のプロキシ構成ドキュメント。このファイルを使用すると、アクティベーターがデフォルトで使用するリポジトリを指定できます。これを無効にして、アクティベーターが使用するオフライン リポジトリがデフォルトで追加されるようにしました。ただし、この機能を再度有効にするためにチケットを開きます。~/.sbt/repositoriesそうすれば、次の内容のファイルを作成できるはずです。

[repositories]
  activator-local: file://${activator.local.repository-${activator.home-${user.home}/.activator}/repository}, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  local
  maven-local
  maven-central
  typesafe-releases: http://typesafe.artifactoryonline.com/typesafe/releases
  typesafe-ivy-releases: http://typesafe.artifactoryonline.com/typesafe/ivy-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

注:~/.sbt/bootディレクトリは常に存在します。これは、実行中に使用する jar ファイルを他のプロセスが削除しないようにするために作成されるため、これらをローカル キャッシュからコピーします。そうしないと、面白いエラー メッセージが表示されます。

于 2013-10-21T12:29:34.563 に答える