2013-01-22 65 views
9

我有一个项目babybird其中有3个组成部分persistence,在businessserviceMaven:将多个模块罐组合成一个战争文件?

babybirdpom.xml我有以下

<modules> 
     <module>persistence</module> 
     <module>business</module> 
     <module>service</module> 
    </modules> 

当我运行mvn clean install,我看到

[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] babybird ......................................... SUCCESS [2.801s] 
[INFO] persistence ....................................... SUCCESS [3.321s] 
[INFO] business .......................................... SUCCESS [0.832s] 
[INFO] service ........................................... SUCCESS [0.694s] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.168s 
[INFO] Finished at: Tue Jan 22 12:09:48 PST 2013 
[INFO] Final Memory: 18M/50M 
[INFO] ------------------------------------------------------------------------ 

和这些模块中的每一个都会生成一个jar文件。

问题:如何将它们合并为一个babybird.war
我是新来Maven和不知道要寻找什么来完成这个任务,请提供指针

回答

13

这很简单。创建另一个模块命名web或类似:

<modules> 
    <module>persistence</module> 
    <module>business</module> 
    <module>service</module> 
    <module>web</module> 
</modules> 

web模块应取决于所有其他:

<dependencies> 
    <dependency> 
     <groupId>...</groupId> 
     <artifactId>persistence</artifactId> 
    </dependency> 
    ... 
</dependencies> 

,并有war包装:

<packaging>war</packaging> 

您还需要web.xml/src/main/webapp/WEB-INF 。而已。

+0

这真的很有用,谢谢@Tomasz – daydreamer

+1

分享代码请 –

1
  1. Create a maven war module
  2. 指定你想成为战争作为依赖的一部分,3个模块(其它比测试或提供范围)
  3. 运行MVN包/安装战争模块

DONE上。

+1

链接问题应该禁止在SO上。 – dit

相关问题