可继承的POM元素
groupld:项目组ID,项目坐标的核心元素。
version:项目版本,项目坐标的核心元素。
description:项目的描述信息。
organization:项目的组织信息。
inceptionYear:项目的创始年份。
url:项目的 URL 地址。
developers:项目的开发者信息。
contributors:项目的贡献者信息。
distributionManagement:项目的部署配置。
issueManagement:项目的缺陷跟踪系统信息。
ciManagement:项目的持续集成系统信息。
scm:项目的版本控制系统信息。
mailingLists:项目的邮件列表信息。
properties:自定义的 Maven 属性。
dependencies:项目的依赖配置。
dependencyManagement:项目的依赖管理配置。
repositories:项目的仓库配置。
build:包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等。
reporting:包括项目的报告输出目录配置、报告插件配置等。
依赖管理
dependencyManagement元素下的依赖声明不会引入实际的依赖,不过它能够约束dependencies下的依赖使用
account-parent中配置dependencyManagement 元素
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion >
<groupId>com.juvenxu.mvnbook.account </groupId >
<artifactId>account-parent </artifactId>
<version>1.0.0-SNAPSHOT </version >
<packaging>pom</packaging>
<name>Account Parent</name>
<properties>
<springframework.version>2.5.6</springframework.version>
<junit.version>4.7</junit.version>
</properties>
<dependencyManagement>
<ependencies>
<dependency>
<groupId>org.springframework </groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId >org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version >${springframework.version}</version>
</dependency>
<dependency>
<groupId >junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
account-email 继承dependencyManagement
<properties>
<javax.mail.version>1.4.1</javax.mail.version>
<greenmail.version>1.3.1b</greenmail.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency >
<groupId >junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId >javax.mail</groupId >
<artifactId>mail</artifactId>
<version>${javax.mail.version}</version>
</dependency>
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail</artifactId>
<version>${greenmail.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
插件管理