私の IDEA プロジェクトでは、Scala モジュールは Java モジュールに依存しています。Scala モジュールをコンパイルしようとすると、scalac だけがトリガーされます。Java ソースと Scala ソースの両方をコンパイルします。
javac は Java ソースに対してはるかに高速であるため (私の Java プロジェクトは大きなプロジェクトです)、scalac で Scala モジュールのみをコンパイルしたいと考えています。 IDEA でモジュールごとに異なるコンパイラを使用するにはどうすればよいですか?
私の回避策は(Javaモジュールへの依存関係ごとに)次のとおりです。
- プロジェクト構成でモジュールの依存関係を削除する
- 適切なコンパイル出力ディレクトリ「MyJavaModule/target/classes」に依存関係を追加します
Mavenプロジェクトを再インポートするたびに、コンパイルを高速化するためにこれらすべてを繰り返す必要があるため、明らかに満足していません。誰かがより良い方法を知っていることを願っています。
明確化: SBT や Maven などのツールでは問題が解決しないことを強調したいと思います。コンパイルだけではありません。これは、Scala ワークシートや IDEA からの単体テストの実行などに必要な、IDEA でのコンパイルに関するものです。私の目標は、SBT のコンパイル速度で IDEA の機能 (構文の強調表示、インテリジェントな自動補完、自動インポートなど) をすべて実現することです。今では、長いコンパイル時間 (Java モジュールへの依存関係による) を許容するか、最低限の REPL と SBT でのテストを使用する必要があります。