该simple-parent项目有一个
pom.xml
,它引用了五个子模块:simple-command
,simple-model
,simple-weather
,simple-persist
,和simple-webapp
。顶层的pom.xml
在Example 7.1, “simple-parent 项目的 POM”中显示。
Example 7.1. simple-parent 项目的 POM
<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>org.sonatype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <packaging>pom</packaging> <version>1.0</version> <name>Chapter 7 Simple Parent Project</name> <modules> <module>simple-command</module> <module>simple-model</module> <module>simple-weather</module> <module>simple-persist</module> <module>simple-webapp</module> </modules> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </pluginManagement> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
注意这个父POM和Example 6.1, “simple-parent 项目的 POM”中定义的父POM的相似度。这两个POM唯一真正不同的地方是子模块列表。前面的样例中只列出了两个子模块,而这里的父POM列出了五个子模块。下面的小节会详细讨论所有这五个子模块。因为我们的样例使用了Java标注,我们将编译器的目标配置成Java 5 JVM。