如何配置依赖于ejb jar的war并结合创建ear文件

我是Maven的新手并且也在学习它。 我在eclipse中有两个项目,一个是包含UI东西的零售产品,另一个项目是ejb项目零售服务。 我为这两个项目编写了单独的pom文件,并能够生成war和jar文件。 我要做的是。

a)我必须在war文件中配置jar文件,因为jar文件包含webappliction所需的ejb内容
b)创建war文件后,我必须创建ear文件,该文件将包含war文件。

我怎样才能做到这一点。

我在这里提供了两个pom.xmls。

 4.0.0 RetailProducts RetailProducts 0.0.1-SNAPSHOT war RetailProducts   com.sun.faces jsf-api 2.1.7   com.sun.faces jsf-impl 2.1.7   javax.servlet jstl 1.2   javax.servlet servlet-api 2.5   javax.servlet.jsp jsp-api 2.1    com.sun.el el-ri 1.0    JavaServerFaces   org.apache.maven.plugins maven-compiler-plugin 2.3.1  1.6 1.6    org.apache.maven.plugins maven-war-plugin 2.1.1 <!--  section added to pick up the WEB-INF/web.xml inside WebContent -->    WebContent        

  4.0.0 RetailService RetailService 0.0.1-SNAPSHOT RetailService   log4j log4j 1.2.15   javax.mail mail   javax.jms jms   com.sun.jdmk jmxtools   com.sun.jmx jmxri     org.hibernate hibernate-core 3.6.10.Final   org.hibernate hibernate-annotations 3.5.6-Final   org.hibernate hibernate-commons-annotations 3.3.0.ga   org.hibernate hibernate-entitymanager 3.6.10.Final   org.hibernate.javax.persistence hibernate-jpa-2.0-api 1.0.1.Final   org.slf4j slf4j-log4j12 1.5.8   javax.ejb ejb-api 3.0 provided    ejbModule   ejbModule  **/*.java      maven-compiler-plugin 3.0  1.7 1.7      

在构建包含WAR和EJB模块的Java EE 5.0应用程序时,通常有3个Maven模块定义:

  1. Web应用程序
  2. EJB的

你有前两个但没有EAR模块。 它应该看起来像这样:

  4.0.0 Retail RetailEAR ear 0.0.1-SNAPSHOT    org.apache.maven.plugins maven-ear-plugin 2.8  lib true 5       RetailService RetailService ejb 0.0.1-SNAPSHOT   RetailProducts RetailProducts war 0.0.1-SNAPSHOT    

然后,当您打包EAR模块时,它处理Web应用程序的依赖项。 参数skinnyWars控制是否应在WAR内部复制依赖项。 通常,您不希望它们在WAR内部,因为它们可以从EAR本身访问Web应用程序。