我已经将eclipse基础ejb项目转换为maven模块。它以Web应用程序布局(由Tomee首选)构建。因此,在pom.xml中,打包类型设置为war,maven正确生成war文件。但是,在打包战争时,我还没有成功地创建一个ejb-client jar。我将它添加到pom.xml中,但它似乎没有做任何事情:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>BossClient</id>
<phase>compile</phase>
<configuration>
<ejbVersion>3.1</ejbVersion>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>/com/**</clientInclude>
</clientIncludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
知道如何在打包战争时让maven生成ejb-client吗?
答案 0 :(得分:3)
maven-ejb-plugin的配置可以简化为:
<project>
<groupId>..</groupId>
<artifactId>..</artifactId>
<packaging>ejb</packagin>
<build>
<pluginManagement>
<plugins>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>/com/**</clientInclude>
</clientIncludes>
</configuration>
</plugins>
<pluginManagement>
</build>
..
</project>
基于default life cycle binding,不需要创建执行块,因为maven-ejb-plugin已经是生命周期的一部分。因此,只需将配置与您的需求保持一致。
此外,你应该考虑制作一个包含ejb部分的单独模块,你不应该将war和ejb部分组合在一个模块中。
答案 1 :(得分:1)
在删除阶段并将ejb的目标添加到maven-ejb-plugin之后,我能够让它工作。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>BossClient</id>
<configuration>
<ejbVersion>3.1</ejbVersion>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>/com/**</clientInclude>
</clientIncludes>
</configuration>
<goals>
<goal>ejb</goal>
</goals>
</execution>
</executions>
</plugin>