转自:http://aiilive.blog.51cto.com/1925756/1596192
-
对于聚合模块来说,它知道有哪些被聚合的模块,但被聚合模块相互独立。
-
对于继承关系的父POM来说,它不知道有哪些子模块继承它,但那些子模块都必须知道自己的父POM。
-
聚合 POM与继承关系中的父POM的packaging都是pom。
-
聚合模块与继承关系中的父模块除了POM之外都没有实际的内容。
<groupId>secondriver</groupId> <artifactId>code-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>code-parent</name> <url>http://maven.apache.org</url>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>secondriver</groupId>
<artifactId>code-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>code-parent</name>
<url>http://maven.apache.org</url>
<modules>
<module>code-utils</module>
<module>code-web</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<junit.version>4.10</junit.version>
</properties>
<description>
这是父模块,对子模块进行了集成,子模块对该模块进行了继承。主要作用是对公共配置的统一管理
</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies></dependencies>
</dependencyManagement>
</project>
-
code-parent/code-utils/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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>secondriver</groupId>
<artifactId>code-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>code-utils</artifactId>
<name>code-utils</name>
</project>
配置中默认的packaging的值为jar。
-
code-parent/code-web/pom.xml
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>secondriver</groupId> <artifactId>code-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>code-web</artifactId> <packaging>war</packaging> <name>code-web Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>code-web</finalName> </build> </project>
至此通过Eclipse创建多模块的Maven工程已完成。至于pom.xml如何配置,就另当别论了,关于maven的pom.xml配置更多信息参见:http://maven.apache.org/pom.html#Resources
本文出自 “野马红尘” 博客,请务必保留此出处http://aiilive.blog.51cto.com/1925756/1596192