3

現在、ant ベースのプロジェクトがあり、maven への移行を検討しています。このプロジェクトは Java ee ベースですが、各モジュールに複数の Java ee プロジェクトを含めることができるモジュール構造になっています。このような:

mod1-->subdir-->war-A
             -->war-B
mod1->src
mod1->build/classes

複数のそのようなモジュールといくつかの jar 依存関係が追加され、1 つの EAR ファイルが作成されます。+ カスタム マニフェスト ファイル

そのようです

EAR -->war-A
    -->war-B
    -->war-C
    -->war-D
    lib/allclasses-from-allmodules-in-one jar

この構造と依存関係は変更できません。これは、私たちが使用するフレームワークに由来します。

これがどれだけの作業であるかを理解するのにmavenについて十分に知りません。または、プロジェクトの構造と開発慣行がmavenの慣習から遠く離れているため、時間の価値がないかどうかを判断します。

Maven を好きなように曲げることができることは理解していますが、切り替える場合は、maven の利点が人生を難しくしないようにする必要があります。:)

もう 1 つの重要なことは、ear ファイルを分解して作成できるようにしたいということです...その側面をカスタマイズするには、どのようなオプションが必要ですか? カスタマイズされた「タスク」を使用する場合、何をあきらめることになりますか (これについての専門用語が何であるかはわかりません)

4

2 に答える 2

2

完全に正直に言うと、私はこれを maven に移植する気にはなりません。通常、ビルド時に何らかの複雑さがある完全なプロジェクトを maven に変換することは、あなたが経験するトラブルに値しません。

新しいプロジェクト、またはおそらくこのアプリの書き直し (それが起こる場合) については、代わりに maven から始めることをお勧めします。

Maven を好きなように曲げることができることは理解していますが、切り替える場合は、maven の利点が人生を難しくしないようにする必要があります。:)

「メイベンを曲げて」好きなことをすることができますが、通常、そうすることで自分の足を撃っています。Maven のポイントは、構成ではなく、慣習によるビルドであるということです。Maven ライフサイクルの範囲外にあることを敢えて行うほど、ビルドのメンテナンスと信頼性に関して、より多くの問題が発生します。

于 2010-08-26T20:36:42.340 に答える
1

現在のプロジェクト構造を100%理解したかどうかはわかりませんが、何も変更できない場合は、ショーストッパーに大きな問題があるようです。Mavenの場合:

  1. ネストされたモジュールの親モジュールにコードが含まれていない
  2. 1つのモジュールが生成するメインアーティファクトは1つだけです(ただし、プロジェクトの場合かどうかはわかりません)

Mavenのデフォルトのレイアウトに従わないことは、上記のレイアウトと比較して小さな問題です。

(構造を壊さずに)何を変更できるかについての詳細がなければ、私はそれがエレガントな方法で実行可能であるとは思いません(実行可能であっても)。

于 2010-08-27T01:53:34.537 に答える