私は Scala を使用して高校のコンピューター サイエンスを教えており、Artifactory リポジトリを設定して、学生が依存関係をダウンロードするときに、インターネット経由ではなく、ほとんどのダウンロードをラボ内で行うようにしました。
ただし、すべてのホーム フォルダーはネットワーク ドライブ上にあり、学生が使用する端末には独自のハード ディスクがないため、同じ依存関係のコピーを何十も持つのはばかげているように思えます。残念ながら、Artifactory リポジトリを使用しても、SBT/Ivy はすべてのアーティファクトを各ユーザーの ~/.ivy2/cache ディレクトリにコピーします。
共有ファイルシステム リポジトリをセットアップすると、アーティファクトがコピーされないと聞いたことがあります。私が理解できないのは、Artifactory がキャッシュしたすべてのアーティファクトを、ファイルシステム リポジトリとして認識される形式でエクスポートする方法です。(通常、エクスポートすると、各リモートリポジトリが個別のフォルダーに配置されますが、これをどうにかして統合する必要があると思いますが、その方法が正確にはわかりません。それが最も簡単な方法である場合は、どのように慎重に説明してください。)
エクスポートしたいのはremote-repos
仮想リポジトリですが、[エクスポート] ページでは選択できません。
これのもう 1 つの難しい部分は、プロキシ リポジトリがない自宅でも同じビルド ファイルを使用できる必要があることです/etc/sbt/sbtopts
。そのため、ラボ環境内でリポジトリの解決をオーバーライドするために使用できるという事実に依存しています。