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)服务器上部署时才会发生。

非常感谢!杰米

4

2 回答 2

2

我正在开发一个与您的结构相同的 Netbeans ear 项目,但是当我从 Netbeans 运行或调试应用程序时,它会部署${project.artifactId}-${project.version}.eartarget文件夹下,无论如何 Netbeans 不使用从 maven-ear-plugin 生成的 ear你可以手动部署它,我已经成功完成了。这是已知的 Netbeans 行为,例如您可以参考此链接

于 2013-01-11T08:47:22.920 回答
0

要为您的 EJB 获得一致的名称,您首先必须为您的应用程序获得一致的名称。应用程序的名称可以在应用程序描述符文件 application.xml 中使用标记设置<application-name>YourGreatApp</application-name>

如果未设置应用程序名称,则使用 E​​AR 文件名作为应用程序名称。使用 Maven,您应该始终设置您的应用程序名称。

application.xml 文件位于 EAR 中的 META-INF/ 下。

于 2013-01-11T09:30:01.953 回答