質問

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

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

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

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

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

更新:プラグインを自分で作成しました。 http://code.google.com/p/replace-file-plugin/ <を参照してください。 / a>フィードバックをいただければ幸いです。

役に立ちましたか?

解決 2

他のヒント

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top