web-dev-qa-db-ja.com

IntelliJ IDEAのsbtプロジェクトのIvyキャッシュの場所を変更しますか?

IntelliJ13.0.2のScalaプロジェクトでsbt0.13.2があります。

デフォルトの../.ivy2/cacheパスを変更したいだけです。

SBTインストールの../bin/sbtファイルの次のエントリを変更しようとしました

-Dsbt.ivy.home=D:/IvyHome/.ivy

しかし、運がありません。

enter image description here

IDEでもSBT_HOMEを更新する場所が見つかりませんでした

解決策は何でしょうか?

enter image description here

14
SMPH

まず、2つのSBTプラグインがあります。使用しているScalaプラグインのバージョンはすでにSBTをサポートしており、追加のプラグインは必要ありません。追加のプラグインを削除することから始めることをお勧めします。

Two Plugins

非公式プラグインを削除する

非公式プラグインを削除するには、plugins構成に移動し、SBTプラグインの横にあるチェックを削除します。これはプラグインを完全に削除するわけではありませんが、無効のままにします。

Disable Plugin

キャッシュの場所を変更する

プラグインが1つしかない場合は、オプションに移動してsbtを検索することにより、キャッシュの場所を変更できます。 IDE設定にエントリがあります。

IDE Settings

VMパラメータが表示されます。入力の横にあるアイコンをクリックし、最後の行に-Dsbt.ivy.home=D:/IvyHome/.ivyを追加します。

Modify Settings

[〜#〜] ok [〜#〜]をクリックし、すべての設定を保存した後、IDE)を再起動します。

これで、新しいホームの場所を使用する必要があります(もちろん、これはIDEから実行されるビルドにのみ当てはまります。コンソールからSBTを使用する場合は、古いホーム設定が引き続き使用されます)。

コンソールから実行されたSBTのキャッシュの場所を変更する

上記の段落で指摘したように。この変更は、コンソールから実行されたSBTには影響しません。これは、デフォルトでIntelliJがバンドルされたSBTを使用するためです。

コンソールから実行するsbt用にIvyホームを変更する場合は、いくつかの方法があります。

最も簡単なのは、sbtconfig.txt内のSBT_HOME/conf/sbtconfig.txtファイルを変更することだと思います(Windowsのみ-Linuxではsbtoptsを変更する必要があります)。

ファイルの最後に-Dsbt.ivy.home=D:/IvyHome/.ivyを追加します。

もう1つの方法は、変更することです ドキュメントに記載されているランチャー構成

23
lpiepiora

IntelliJ IDEA 14ビルド139.463.4(Play Framework 2.2.5プロジェクト)でも同じ問題が発生しました。

以下の手順に従いましたが、うまくいきませんでした。 VM SBTランナーのパラメーター:-Duser.home = D:/ Users/myName /)に追加することで、最終的に問題を修正しました。

変数user.homeは、ivy-home変数を作成するためにSBTランチャーによって使用されます。

4
smbikina

IDE設定を変更することを提案する答えは、本質的にファイル.idea/sbt.xml(プロジェクトに変更を加えた場合)またはC:\Users\***\.IdeaIC14\config\options\project.default.xml( IDEデフォルトはどのプロジェクトに関係なく)に変更を加えました。

したがって、頻繁に変更する必要がある場合は、このファイルをソース管理に配置することを検討してください。 (私の場合、Spark 1.4ライブラリとSpark 1.5ライブラリを切り替える必要があったため、これは価値があります。)

1
Minnie Shi