私はIntellij Idea 12を使用しており、マルチモジュールのmavenプロジェクトを持っています。
簡単にするために、私が持っていると仮定しましょう:
- モジュール A - JAR にコンパイル
- モジュール B - モジュール A に依存し、JAR にもコンパイルされます
- モジュール C - モジュール B に依存しますが、WAR にコンパイルされます
Intellijにはmavenプロジェクト用の独自のビルドメカニズムがあることを知っているので、WARを初めてビルドしてTomcatにデプロイすると、通常はすべて正常に動作します。問題は、モジュール A などのサブモジュールの 1 つを変更し、戦争を再構築する (モジュール C を再構築する) 必要がある場合に発生します。
Intellij は、以前にビルドされた古いモジュール A jar を使用しているように見え、モジュール C を作成/ビルドするときにモジュール A で行った変更を無視します。
これを解決するために私が見つけた唯一の方法は、モジュール A と B で Maven ビルドを実行し、最初に Maven で WAR をビルドし、それを外部ソースとしてデプロイすることです。
問題は、デプロイしたい 10 個の WAR と、jar にコンパイルされた 20 個を超えるサブモジュールがあることです。1 つの WAR に影響するサブモジュールの 1 つで行った変更のみを確認したい場合、すべての war を再構築するのは意味がありません。また、Intellij Ultimate ライセンスを購入しながら、コマンド ラインを使用して外部でビルドするのは意味がありません (アプリケーション サーバーで作業できるようにするため)。
この動作を他の IDE と比較します。2. Eclipse はその内部メカニズムで同じことを行いますが、WAR プロジェクトが再構築されるとすべての JAR が更新されます。(または、機能する他の魔法)
IDEA で別の方法で動作する方法はありますか、それともありませんか?