如果我们有许多Maven工程需要编译,如果一个个敲命令怕要累死,写批处理又有点不太正规,幸好Maven采用了Module节点解决了我们的问题,可以通过一次命令编译打包所有的包.

下图中的MavenA和MavenB是两个需要编译打包的工程,MavenModules是它们的上级工程.


MavenA和MavenB的pom.xml一点也不需要改变,而MavenModules中的pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  
<modelVersion>4.0.0</modelVersion>
  
<groupId>com.sitinspring</groupId>
  
<artifactId>MavenModules</artifactId>
  
<packaging>pom</packaging>
  
<version>1.0.0</version>
  
<name>MavenModules</name>
  
<url>http://www.blogjava.net/sitinspring</url>
  
<modules>
    
<module>ModuleA</module>
    
<module>ModuleB</module>
  
</modules>
</project>

通过观察可以发现,有两点不同:
1.package节点设定为pom而不是jar,war等,这是主工程必需的,否则执行命令必报错.
2.添加了modules节点和其下的两个module节点,节点名正好是子目录,这样在MavenModules目录下执行compile,package等命令就会深入子目录去继续执行.

挺简单的,基本就是这么多.

例程下载:
http://www.blogjava.net/Files/sitinspring/MavenModules20070621135351.zip



标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-06-24 23:14 编辑过
 
博学深思慎言笃行(http://www.blogjava.net)原创,转载请注明出处.