マルチモジュール m2eclipse/WTP プロジェクトは、WEB-INF/クラスにデプロイされたユーティリティ モジュールを取得できますか?

StackOverflow https://stackoverflow.com/questions/3405653

質問

現在、組み込みの Maven4MyEclipse 統合と組み込みの J2EE サーバー サポートを備えた MyEclipse を使用していますが、Windows で 64 ビット インストールを使用できるように、通常の Eclipse (特に Helios) に変換したいと考えています。(MyEclipse は Windows 上の 64 ビットをまだサポートしていません。)

これまでのところ、m2eclipse と WTP プラグインを使用して、大規模な Web アプリケーションを Tomcat にデプロイする、Helios eclipse の動作するプロトタイプを作成できました。デプロイメントはプロセッサに少し負荷をかけますが、機能し、アプリが起動します。

ここでの決定的な違いは、依存プロジェクトのデプロイ方法です。MyEclipse 環境では、すべての依存プロジェクトが WEB-INF/classes フォルダーに展開されてデプロイされていたため、サーバーの実行中に IDE で Java クラスを変更すると、影響を受けるファイルのみが WEB-INF/classes フォルダーにコピーされます。サーバーの WEB-INF/classes を削除し、クラスを JVM にホットスワップして...ブーム - サーバーへのライブ変更。デバッグに最適です。

ただし、私の helios 変換では、すべての依存プロジェクトが JARed され、WEB-INF/lib に配置されます。これには、Maven で構築された実際の運用イメージと実際に同じように見えるという利点がありますが、ホットスワップ機能が完全に失われているように見えるため、開発環境はこれによって非常に不利になります。ここで、依存プロジェクト内の Java クラスを変更すると、m2eclipse は JAR を再パッケージ化し、デプロイされた Web アプリケーションが同期していないことを確認し、アプリケーション全体を再公開します。これは、Web アプリケーション全体を循環させる必要があるという点で問題があるだけでなく (率直に言って、このアプリケーションのサイズと膨大な初期化時間を考えるとうまくいきません)、Eclipse が再公開する際の厄介な遅延でもあります。(このアプリケーションの場合、これには約 1 ~ 2 分かかります。)

そこで私の質問は次のとおりです。この厄介な再公開ペナルティを発生させずに、依存プロジェクト内の変更を取得して実行中の JVM にホットスワップし、デプロイされたファイルを置き換える方法はありますか?これは、これらのクラス ファイルを WEB-INF/classes にデプロイすることを意味すると想定していますが、それがこのソリューションの一部として (a) 可能なのか、(b) 本当に必要なのかはわかりません。

これを解決するために他の人は何をしていますか?解決可能ですか?

前もって感謝します!

役に立ちましたか?

解決

で説明されている解決策を探していると思います Re:m2eclipse を使用した WTP Tomcat ホット デプロイ:

「公開せずにモジュールを提供する」というオプションを有効にすると、WTPのTomcatサポートがWebアプリケーションの「クラスパス」を制御できるようにする特別なJARがTomcatサーバーに追加されます。また、ユーティリティプロジェクトは瓶に組み立てられていません。代わりに、ユーティリティプロジェクトのJava出力フォルダーは、Webアプリケーションの「ClassPath」に含まれており、クラスファイルを直接効果的に提供します。コンテキストの自動ロードを無効にし、デバッグモードで実行すると、クラスに変更すると、ホットコードが再び表示されるため、コンテキストをリロードする必要がありません。私はこれがあなたが探していることを成し遂げると信じています。

そうするために:

  • に行きます サーバ ビュー
  • ダブルクリック Tomcat サーバーをクリックしてサーバー設定を開きます
  • サーバーオプション, 、 を選択 モジュールを公開せずに提供する オプション
  • 出版, 、 を選択 自動的に公開しないでください オプション
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top