4

ejb モジュールと 2 つの war をパッケージ化した ear プロジェクトがあります。それらのそれぞれは、maven 依存関係として宣言されています。私はmaven-ejb-plugin、maven-ear-plugin、maven-war-pluginを使用しています。すべてのプロジェクトは、すべてのプロジェクトがモジュールとして宣言されている共通の super-pom を共有します。

ear プロジェクトを実行すると、war で Web リソースを変更してもサーバーに再デプロイされませんが、できる限りすべて (war/ear) で「保存時にデプロイ」をチェックしました。

役立つ情報:

  • 私は、netbeans から pom.xml を生成しませんでした。プロジェクトは以前は ant プロジェクトでしたが、netbeans が ear/ejb/war セットアップから生成するように見えるものを模倣して移行しました。
  • war ファイルを変更するのに苦労することがあります。すべてのプロジェクトをクリーンアップし、サーバーを停止する必要があります。どこかで何かがおかしいと思います。ファイルを変更してmaven installを実行する(または「実行」または「デバッグ」を押す)だけでうまくいくと思いますか?
  • ear プロジェクトを実行しています (どうにかして superpom を実行すべきかどうかはわかりません)。
  • Netbeans は、ブラウザーの起動時に正しい URL を実行しません (指定した /XXX の代わりに /XXX-1.0-snapshot が実際に機能しています)。アドレスバーで常に手動で編集する必要があります。関連する可能性がありますか?

編集: ローカル プロジェクトでこれを見る: ローカル プロジェクトでこれを見る:

ダウンロード: http://repository.primefaces.org/be/valuya/xyzproj/XYZproj-ejb/1.0-SNAPSHOT/maven-metadata.xml

EDIT2: この netbeans バグを開いた: http://netbeans.org/bugzilla/show_bug.cgi?id=218806

4

1 に答える 1

1

deploy on save : このオプションは、プロパティを true に設定した場合にのみ適用さnetbeans.deployれます (これは、netbeans が Web アプリケーションのデプロイを処理し、ファイルを監視し、必要に応じて再デプロイを実行することを意味します)。netbeans で、Maven プロジェクトを右クリックして [プロパティ] に移動し、カテゴリ リストの下の [アクション] を選択し、[アクションの実行] を選択すると、[netbeans.deploy=trueプロパティの設定] テキストボックスで指定できます。

戦争で変更を加える: 私が間違っていなければ、静的な Web コンテンツ (例: html、css、javascript など) を変更するときにのみこの問題が発生します。これは、ほとんどのサーバーが静的コンテンツをメモリ マップし、パフォーマンスのためにファイルをロックしているためです。メモリ マップ ファイルを無効にするようにサーバーを構成する必要があります。構成は、使用しているサーバー (glassfish/jetty/tomcat) によって異なります。

netbean が間違った URL を起動する: netbeans は、プロジェクトのフォルダー名に基づいた URL を使用します。これも変更できませんでした(常にリセットされます)ので、IDEのバグだと思います。

于 2012-09-08T03:22:47.670 に答える