TL; DR: SBTファイルが変更されたときにIntelliJのすべての依存関係を完全に調整する方法
IntelliJでSBTプロジェクトをセットアップしています。ほとんどの場合、ifは魅力のように機能しますが、依存関係とコンパイラのバージョンを変更することは非常に苦痛です。
私がやりたいのは、SBTファイルを更新し、IntelliJでclean projectのようなものをクリックして、最新の状態にすることです。
私が見つけた最良のメニュー項目はRebuild projectです。新しい依存関係を読み取りますが、古い依存関係は保持するため、外部ライブラリにはScalaランタイムおよびサードパーティライブラリの複数のバージョンが含まれます。
これを回避するには、IntelliJを閉じて、.idea/libraries
内のすべてのファイルを削除します。 IntelliJを再起動すると、依存関係が解決されます。動作しますが、メタデータファイルを手動で削除すると、間違ったことをしていることがわかります。
前に私に起こった、そしてはい、ピタです。
私が通常していることは、プロジェクトから依存関係をすべて手動で削除し、それらすべてを実際に必要なものをsbtに再インポートさせることです。ただし、UIでそれをしないでください。複数選択しても、すべての依存関係の確認を求められます。 (1時間[はい]をクリックします)代わりに、.iml
プロジェクトファイル.idea/modules
ディレクトリ。
次の手順を試してください。
これはSBTプロジェクト専用です
別の重いハンマーが動作するようです。
.idea
フォルダ異なるバージョンのsbtとscalaを異なるプロジェクトで使用していたため、IntelJiが何らかの形で混乱しました。sbt
とivy2
キャッシュフォルダー:
rm -rf ~/.ivy2
rm -rf ~/.sbt
端末/シェル/コマンドプロンプトからアクティベーターを使用している場合は、次のコマンドを使用します。
activator clean
または、intellijを使用してsbtシェルを「クリーン」にするだけです
それは物事をリセットするのに役立ち、次回実行またはコンパイルするときは、最初からやり直す必要があります。
私のために働いたのは:
1)IntelliJを閉じます
2).idea/libraries
内部を削除します
3)IntelliJを起動します
4)右クリックpom.xml Maven > Reimport
その後、外部ライブラリに古いバージョンと重複したライブラリはありませんでした。
IDEA 2016.2.4
これらのソリューションはどれも私にとってはうまくいきませんでした。
****上記のいずれかを試す前に。 SBTのバックアップを作成する/ IDEA質問のプロジェクト*****
「build.sbt」を更新した場合、プロジェクトビューの外部ライブラリの依存関係は更新されませんでした。さらに、プロジェクト構造にはまだ古い依存関係が示されていました。何を試してもIDEAは更新されません。
部分的な復元を取得できる唯一の方法は、「。idea」フォルダを別のマシンからコピーすることでした。 SBTプラグインの実装が**** ed! 「.idea/libraries」フォルダーを事前に削除してからIDEAはこのフォルダーを復元しませんでした。何度もプロジェクトをインポートしようとしました。
ひどい :(
補遺:プロジェクトを機能させることができました。 IDEAを含むSBTは完全に障害ではなくなりました。ApacheIvy 2キャッシュが破損している可能性があるため、次のコマンドを実行しました。
$ rm -rf ~/.ivy2/cache/org.scalatest/scalatest_2.11/*
$ rm -rf ~/.ivy2/cache/org.scalactic/scalactic_2.11/*
再起動IDEA=ファイルドロップダウンメニュー項目の下にキャッシュを無効化します。これにより、IDEAおよびSBTの内部アクションがトリガーされます。物語の教訓は、毎日2つの異なるラップトップコンピューターで作業し、それらを更新し続けることです。
また、コマンドラインからSBTを再確認してください。私は0.13.12を使用していました
$ sbt about
$ sbt clean
$ sbt test
また、SBT依存関係プラグインも再確認してください。
同意します、それはピタです。何も助けになりませんでした(「無効/再起動」を試み、「。idea/libraries」からファイルを削除して再起動しました)。
私にとって問題を克服する唯一の方法は、IntelliJIdeaキャッシュからプロジェクト関連のフォルダーを手動で削除することでした。これらのフォルダーを次の場所から削除しました(OSXとIntelliJ-Idea 14を使用しています)。
これは私を助け、誰かの時間を節約することを願っています。