我有一个ejbModule,我想根据个人资料更改他的名字。
有没有办法可以更改jar中生成的名称,比如工件的finalName?
我的pom:
<modules>
<ejbModule>
<groupId>grerj.sample</groupId>
<artifactId>sample</artifactId>
</ejbModule>
</modules>
我想要一个名为hsample而不是样本的jar。
答案 0 :(得分:1)
默认名称是artifactId。
但您可以在pom.xml
中定义生成的名称。
在build
- 标记内,您可以像这样定义finalName
:
<build>
<finalName>hsample</finalName>
</build>
这些设置必须在grerj.sample.sample maven模块的pom.xml
内完成。
答案 1 :(得分:1)
最简单的解决方案是使用bundleName like the documentation suggested,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9</version>
<configuration>
[...]
<modules>
<ejbModule>
<groupId>artifactGroupId</groupId>
<artifactId>artifactId</artifactId>
<bundleFileName>TheNameYouPrefer</bundleFileName>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
答案 2 :(得分:0)
模块名称与portable JNDI name中的模块部件有关。
通常是ejb-jar.jar名称,但即使是基于注释的ejb,也可以用ejb-jar.xml覆盖。
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
version="3.1">
<module-name>MyModuleName</module-name>
</ejb-jar>
这在像这样的耳朵中给出了EJB的JNDI名称
java:global/myApp/MyModuleName/MyBean!my.package.MyBean
因此Maven可以很好地创建版本化的EJB Jar名称,JNDI名称保持不变。