1

私は現在、既存のライブ システムを置き換える新しいサーバーを構築しており、すべてのシステムを最新の状態にする機会を得ています。残念ながら、切り替えが完了するまでの数か月間、2 つのシステムをライブ サービスとして並行して実行する必要があります。この間、サーバー上で実行されるアプリケーションの開発が進行中であるため、毎晩リビルドを実行します。

私が直面している問題は、既存のシステムが Maven 2 を実行しており、新しいシステムが Maven 3 を実行していることです。 org.codehaus.mojo:versions-maven-plugin is missing") となり、アプリケーションのビルドに失敗します。

すべてが Maven 2 と Maven 3 の両方でビルドされるように、これらの警告を修正できるソリューションはありますか? 開発インフラストラクチャのため、Subversion 内でコードを分岐することはできません。

いくつかのドキュメントを見ると、リポジトリ定義を pluginrepository 定義に移動することが提案されています。リポジトリを pluginrepositories に追加して、それらをリポジトリの下に残しておくことはできますか? これにより、Maven のいずれかのバージョンで問題が発生しますか? または、問題の代替ソリューションはありますか?

4

1 に答える 1

0

Maven 3 は下位互換性がありますが、より厳密であるため、Maven 3 の pom.xml を修正しても、Maven 2 のサポートが損なわれることはありません。

私が読んだことから、明示的なプラグイン バージョンを使用するだけでよく、それは簡単に実行できます。ベスト プラクティスは<pluginManagement>、プロジェクトに共通の親 pom のセクションで実行することです。

于 2012-09-07T13:07:31.383 に答える