如何配置依赖于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模块定义:
- Web应用程序
- 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应用程序。