标签:项目 项目文件 pac 邮件 技术分享 位置 4.0 需要 img
T-aggregator/pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>org.wzh.maven</groupId> 6 <artifactId>T-aggregator</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 <packaging>pom</packaging> 9 <name>T-aggregator</name> 10 <modules> 11 <module>T-A</module> 12 <module>T-B</module> 13 <modele>T-parent</modules> 14 </modules> 15 16 </project>
T-paraent/pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 4 <modelVersion>4.0.0</modelVersion> 5 <groupId>org.wzh.maven</groupId> 6 <artifactId>T-parent</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 <packaging>pom</packaging> 9 <name>T-Parent</name> 10 11 </project>
T-A/pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <parent> 6 <groupId>org.wzh.maven</groupId> 7 <artifactId>T-parent</artifactId> 8 <version>0.0.2-SNAPSHOT</version> 9 <relativePath>../T-parent/pom.xml</relativePath> 10 </parent> 11 12 <artifactId>T-A</artifactId> 13 <name>T-A</name> 14 15 <properties> 16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 17 </properties> 18 19 <dependencies> 20 <dependency> 21 <groupId>junit</groupId> 22 <artifactId>junit</artifactId> 23 <version>3.8.1</version> 24 <scope>test</scope> 25 </dependency> 26 </dependencies> 27 </project>
T-B/pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>org.wzh.maven</groupId> 6 <artifactId>T-B</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 <packaging>jar</packaging> 9 <name>T-B</name> 10 11 <properties> 12 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 13 </properties> 14 15 <dependencies> 16 <dependency> 17 <groupId>junit</groupId> 18 <artifactId>junit</artifactId> 19 <version>3.8.1</version> 20 <scope>test</scope> 21 </dependency> 22 </dependencies> 23 </project>
由此可知,T-A 确实继承了 T-paraent 的 POM。
需要特别注意的是,父 POM 的 <packaging> 必须为 pom。
由于父模块只是为了帮助消除配置的重复,因此它本身不包含除 POM 之外的项目文件,也就不需要 src/main/java/ 之类的文件夹了。
其他模块如果需要继承父模块,则需要在 POM 中声明父模块。
<paraent> 下的子元素 <groupId> 、 <artifactId> 和 <version> 指定了父模块的坐标,这三个元素是必须的。
<relativePath> 表示父 POM 的位置。默认值是 ../pom.xml。也就是说,Maven 默认父 POM 在上一层目录下。
对于 <artifactId> ,子模块应该显式声明。
POM 可被继承的元素:
标签:项目 项目文件 pac 邮件 技术分享 位置 4.0 需要 img
原文地址:http://www.cnblogs.com/microcat/p/7240010.html