3

はい、これは本当の質問です。

マルチモジュール Maven ベースのプロジェクトで、次のワークフローに対応したいと考えています。

  • モジュール X に変更を加える
  • モジュール Y で Java アプリケーションを実行する

モジュール Y はモジュール X に直接的または間接的に依存している可能性があります。別のモジュールへの変更によって影響を受けるすべてのモジュールを再帰的にコンパイルする必要があります。テストを実行したくありません。

Maven では、毎回すべてをコンパイルしてインストールすることなく、これを行うにはどうすればよいでしょうか?

4

2 に答える 2

3

なぜ毎回作成してインストールする必要があるのですか? 私が見つけた最も簡単な解決策はmvn install1回です。その後、個々のプロジェクトに移動して、いつでもビルドできます。チェーンがピックアップされていることを確認する必要がある場合は、上からビルドして使用するだけですmvn -amd -pl projectname

これは、特定のプロジェクトとその依存関係をビルドすることを示しています。

于 2012-06-19T12:25:10.100 に答える
1

開発段階

Mavenだけで簡単にできるとは思いません。ただし、開発中は、追加するテストをスキップできます-DskipTests

Maven はインクリメンタル コンパイルを適切に実行できません。これを行う正しい方法は、maven プロジェクトを IDE のプロジェクトにインポートする IDE を使用することです。そうすれば、迅速かつ簡単に開発を行うことができます。IntelliJ IDEA は Maven と非常にうまく連携します。

生産段階

リリース ビルドでは、ターゲット アーティファクトで明示的なバージョンを使用できます。したがって、モジュール X の変更後、最終リリースのアーティファクト モジュール Y をビルドすると、それに明示的な依存関係を追加できます。この場合、X と Y の間のすべてのモジュールは古いバージョンになります (ただし、新しい X で動作すると仮定する必要がありますが、これは常に正しいとは限りません)。

于 2012-06-19T12:22:42.230 に答える