如果使用Maven更改了包名,则无法使用Netbeans部署ear

时间:2013-01-10 15:23:00

标签: java-ee maven netbeans glassfish

为了获得远程调用的常量JNDI名称,我想从EAR包名中删除该版本。我用标签< finalName>在maven-ear-plugin中。 它工作正常但是,当我使用Netbeans(版本7.1.2)部署(运行)包时,它引发了一个异常: java.lang.IllegalArgumentException:没有用于部署的存档

似乎Netbeans总是希望得到像 $ {project.artifactId} - $ {project.version} .ear 这样的名字。怎么可能改变这种行为?

编辑:只有在远程(Glassfish)服务器上部署时才会发生。

非常感谢! JM

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

要获得EJB的一致名称,首先必须为应用程序获取一致的名称。可以在Application Descriptor File application.xml中使用标记<application-name>YourGreatApp</application-name>设置应用程序的名称。

如果未设置应用程序名称,则EAR文件名将用作应用程序名称。使用maven,您应该始终设置应用程序名称。

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