如果我们有许多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