4

あるアプリケーション サーバー (Tomcat としましょう。ただし、Jboss、Jetty、またはその他のものでもかまいません) で実行される大きなプロジェクトに取り組んでいるとします。プロジェクトは複数の戦争で構成されていますが、各戦争には多くの jar が含まれています。全体が Maven を使用して構築されており、すべてを構築するには多くの時間がかかります。

ここで、開発者が 1 つの小さな jar を生成する 1 つのモジュールだけに変更を加えたとします。作業を続けて変更をテストするには、開発者は関連する war でこの jar を置き換え、サーバーを再起動する必要があります (war を再デプロイするだけで十分な場合もあります)。アプリケーション全体を再構築するよりもはるかに高速です。多くの開発者 (私自身を含む) がこのタスク用のシェル スクリプトを作成しているのを見てきました。

ただし、maven を使用して自動的に実行できれば、はるかに優れたものになる可能性があります。「mvn install」を実行すると、プラグインも事前定義された場所 (例: ${tomcat}/webapps) に移動し、myjar.jar のすべての外観を検索して、それらを新しいバージョンに置き換えます (複数の jar があることを覚えていますか? )

そのようなプラグインについて知っている人はいますか?それとも、同じタスクを実行できる他のツールに関するものでしょうか? または、それを行う方法のより良いアイデアはありますか?

更新:ところで、解決策が見つからない場合は、おそらく自分で実装します。ので、興味のある方は教えてください。ベータテスターが必要です:)

更新:プラグインを自分で作成しました。http://code.google.com/p/replace-file-plugin/を参照してください。

4

4 に答える 4

2

さて、この質問で私が求めた機能はすべて、私自身が実装しました。http://code.google.com/p/replace-file-plugin/を参照してください 。フィードバックをいただければ幸いです。

于 2011-03-28T19:21:36.187 に答える
2

JRebelをチェックしてください。それは揺るぎなく、開発/展開時間を大幅に短縮します。30日間の無料トライアルがありますので、無料でお試しください。自分のライセンスを購入しましたが、会社が購入を承認するまでに数週間かかり、待ちきれませんでした。

まじめな男、それは揺れます。それについて読んでください、それはあなたが望むことをすることができます.

于 2011-03-25T00:04:07.880 に答える
0

スクリプトを Ant ビルドとして記述できる場合は、Maven Antrun プラグインを使用してビルド ライフサイクルに Ant ビルドを埋め込むことができます。

于 2011-03-23T19:59:47.463 に答える
0

スコープを 1 つだけの war ファイルに絞りましょう。問題なく、これを自分のシナリオに合わせてスケールアップできると思います。

このオプションを試すことができます: 高速に実行され、すべての依存モジュールを 1 つの war ファイルに結合する最終アセンブリ モジュールを作成します。次に、ビルド全体に対して最初に mvn clean package install を実行する場合、変更された依存モジュールを mvn clean package install し、最終アセンブリ モジュールを再実行して、更新された war をすばやく取得する必要があります。これは非常にステートフルなビルド スキームです (したがって、エラーが発生しやすくなります) が、伝播を変更するためのこのアプローチに慣れると、おそらくこれが機能し、より高速に機能する最も単純なアイデアであると考えるでしょう。

于 2011-03-28T14:06:14.133 に答える