我想构建一个Maven EJB项目,该项目生成EJB客户端以公开接口。
我在POM中使用它时工作正常:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
<generateClient>true</generateClient>
</configuration>
</plugin>
两个JAR构建在target
中,但在Eclipse中,我只有一个项目用于实现和接口。
我想在Eclipse中创建两个独立的项目,一个用于接口,一个用于实现(当我们创建没有Maven的EJB项目时,Eclipse的传统方式)。我该怎么办呢?
答案 0 :(得分:1)
好吧,我成功地在Eclipse 2 Maven Projects中构建了基于 maven-archetype-quickstart 原型的M2E,一个用于ejb实现(ejb-impl),一个用于ejb客户端(ejb-client) )。
在ejb-impl中,我选择打包到ejb
,在我的ejb-client中选择jar
打包。
我使用maven-ejb-plugin插件从ejb-impl生成ejb,我不使用generateClient选项(默认值已经设置为false)。
我使用maven-ear-plugin从ejb-impl,ejb-client和一些war模块(jsf)生成ear。我使用jarModule来包含ejb-client,因此它在lib
目录下打包到ear文件中,因此无需修改清单或其他任何内容,可以轻松地为其他模块访问ejb-client。
因此,使用Maven,我现在只能使用或分发EJB的接口方法而不是实现,并且没有冗余代码。