35

私の新しいプロジェクトでは、何年にもわたって不快で制御されていない方法で成長したいくつかのモジュールを含む複雑なインフラストラクチャに直面しています。

要点を言えば、ビルド プロセスは恐怖です。40 を超えるさまざまな複雑な Ant ファイルがあり、それらは複数回接続されており、SOA フレームワークは複数の動的 Ant ファイルも生成します。すべての依存関係を本当に理解し、最終的にエラーなしでプロジェクト全体をビルドするのに数日かかりました.

私の計画は、プロジェクト全体を Ant から Maven に移行することでした、または移行する予定です。新しいコンポーネントが計画されており、これらの問題を今後も回避したいからです。

大規模なプロジェクトの移行は初めてなので、最適なワークフローについて少し混乱しています。関連する XML ファイルとスクリプトは多数あり、Maven 以外のディレクトリ構造で配布されます。全体で 3000 以上のファイルが関係しています。主な問題の 1 つは、既知の Maven ディレクトリ構造内のすべてを本当に移行しようとする必要があるかどうかわからないため、すべてのファイルを際限なく編集およびリファクタリングするリスクがあることです。それとも、フォルダー構造をそのままにして pom.xml ファイルを肥大化させ、関連するさまざまなプラグインで問題が発生する可能性がありますか? 正直なところ、どちらの方法も建設的には聞こえません。

この次元のプロジェクトを Maven に移行することは理にかなっていますか? 特に、SOA フレームワークが独自の Ant ファイルを使用する必要がある場合は、Ant と Maven の組み合わせが必要になります。このプロセスを簡素化するための最善の戦略は何ですか?

すべての提案に感謝します。

4

2 に答える 2

9

私は過去に同様の移行を行いましたが、あなたと同じ疑問を抱いていました。しかし、「フォルダ構造をそのままにして、POMファイルのパスを指定する」方法を選択したところ、思ったほど悪くはありませんでした。

私が実際にやらなければならなかったことは、 と を適切に設定し、場合によっては<sourceDirectory>いくつ<outputDirectory>かの包含フィルターと除外フィルターを追加することでしたが、最終的には、Maven の方法が本当に設定よりも慣習的であり、あなたの人生を楽にしてくれます。ファイルを配置する場所に関するその指示に従います。そうしなくても、それほど難しくはありません。

さらに、移行時に本当に役立ったのは、Maven プロジェクトをモジュールに分割できることでした。これは、最初に Ant 構造を複製するために使用しました (つまり、build.xml ファイルごとに 1 つの Maven モジュールがありました)。次に、モジュールの集約を変更して、より意味があり、Maven に似たものにしました。

生成されたAntファイルがなかったので、これが実際にあなたにとって意味があるかどうかはわかりませんが、これがあなたにとって最大の問題かもしれませんが、ファイルをリファクタリングしてどこでもMavenizeに移動するのではなく、間違いなくこの道をたどります私のプロジェクト構造。

于 2013-06-21T14:34:34.127 に答える