Maven 3 ベータ版がリリースされてから数週間が経ちました。Maven 3 の機能リストについて意見を求めたいと思います。
- ビルド ライフサイクルにおけるプロジェクトの並列実行
- カスタム ライフサイクル
他のすべては、バグ修正またはマイナーな改善のようです。それで、あなたはどう思いますか?Maven 3 は待つ価値がありますか?
Maven 3 ベータ版がリリースされてから数週間が経ちました。Maven 3 の機能リストについて意見を求めたいと思います。
他のすべては、バグ修正またはマイナーな改善のようです。それで、あなたはどう思いますか?Maven 3 は待つ価値がありますか?
Maven 3 の新機能 ここでは、ネットで見つけたものを少しまとめます。
要約すると、あなたは完全に間違っているわけではありません。表面的にはそれほど多くの変更はありません (ただし、私はエラー報告の改善を本当に楽しんでおり、バージョンのない親要素のものを待ちきれません)。しかし、内部の変更により、Maven 3は大幅に高速化されており、これは非常に大きなことです。そして、新たに提供された可能性によって大きなイノベーションが起こることを期待しています (まだこれからですが)。
最後に、パフォーマンスの向上は私にとって十分価値のあるものであり (より短い時間で構築できることは非常に価値があります)、その他の点はおまけです。また、私はサイト プラグインを広範囲に使用していないため、一部のビルドでは既に 4 か月以上 Maven 3 を使用しており、満足しています。
いいえ、マトリックスが言うように互換性がありません。2 と 3 の間には多くの非互換性があり、ページ ポインティング動作があります。企業でエンタープライズ プロジェクトに取り組んでいる場合、これらの問題に遭遇することは間違いありません。
10k-100k コード ビルドではないエンタープライズ ビルドを実行する場合のパフォーマンスに関しては... 150 万行のシステムはどうですか? それは企業ではより一般的です。ソフトウェアのビルドに 2 ~ 4 時間かかり、引き続き継続的な統合が必要な場合は、並列ビルドとテストを検討します。Maven 3 はその時点で便利です... しかし、この時点では、ツリーの解決/クラスパスが目標によって異なることは受け入れられません (依存関係: ツリーは、通常のビルド目標が Aether に依存しているのに対し、レガシーメカニズムを使用します)。Ivy/Ant の問題を思い起こさせるのは、デプロイ用のソフトウェア パッケージの前にクラスパスのチェックに頼ることができない場合です (本番環境にローカルの Maven リポジトリがありませんよね? ... しかし、それでもソフトウェア監査を実行する必要がありますよね?)
Maven 3 のアイデアは、問題なく Maven 2 を置き換えることでした...現在、いくつかあります (特にサイト)。問題が発生するかどうかを確認するために、現在の既存の Maven 2 プロジェクトを Maven 3 でテストすることをお勧めします。内部的には、新しい改善を可能にするために、完全なコードがリファクタリングされています。コアからいくつかの部分を削除しました (サイト生成など)。
彼らは「-r」オプションを削除し、それを非常に複雑なシステムに置き換えました。
Mavenは、pomsのコピー/貼り付けを推奨しています。私は彼らが3.0でそれを修正することを望んでいました。彼らはMaven3.1まで「ミックスイン」機能を削除しました。
ビルドのパフォーマンスといくつかのマイナーなバグ修正を除けば、面倒なことをする価値はありません。