2

リモート呼び出しに一定の JNDI 名を付けるために、EAR パッケージ名からバージョンを削除したいと考えています。maven-ear-plugin のタグ < finalName > でそれを行います。正常に動作しますが、Netbeans (バージョン 7.1.2) でパッケージを展開 (実行) すると、例外が発生します: java.lang.IllegalArgumentException: No archive for deployment

Netbeans は常に${project.artifactId}-${project.version}.earのような名前を期待しているようです。この動作を変更するにはどうすればよいですか?

編集: リモート (Glassfish) サーバーにデプロイする場合にのみ発生します。

どうもありがとう!JM

4

2 に答える 2

2

私はあなたと同じ構造の Netbeans ear プロジェクトに取り組んでいますが、Netbeans からアプリケーションを実行またはデバッグすると${project.artifactId}-${project.version}.ear、フォルダーの下に展開targetされます。とにかく、maven-ear-plugin から生成された ear は Netbeans によって使用されません。手動で展開できます。私は成功しました。これは Netbeans の既知の動作です。たとえば、このリンクを参照できます。

于 2013-01-11T08:47:22.920 に答える
0

EJBの一貫した名前を取得するには、最初にアプリケーションの一貫した名前を取得する必要があります。アプリケーションの名前は、アプリケーション記述子ファイルapplication.xmlでタグを付けて設定できます<application-name>YourGreatApp</application-name>

アプリケーション名が設定されていない場合は、EARファイル名がアプリケーション名として使用されます。Mavenでは、常にアプリケーション名を設定する必要があります。

application.xmlファイルは、EARのMETA-INF/の下にあります。

于 2013-01-11T09:30:01.953 に答える