》》继承(不推荐)继承了父pom的依赖: 子项目的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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.pk</groupId>
<artifactId>MAVEN_CHILD</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>cn.pk</groupId>
<artifactId>MAVEN_PARENT</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<dependencies>
<!-- 子项目中引入依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${MYSQL-VERSION}</version>
</dependency>
</dependencies>
</project>
父项目的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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.pk</groupId>
<artifactId>MAVEN_PARENT</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<MYSQL-VERSION>6.0.3</MYSQL-VERSION>
</properties>
</project>## 标题
注意:子项目可以引用父项目的变量,一旦在父pom中修改了变量名 所有的子pom都需要修改 (不推荐)
》》依赖管理 多继承 (不能继承变量和父pom的依赖) 管理版本号 父pom中定义所有的依赖的版本 不会下载jar包
子项目pom中加入:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
</dependencies>
<!-- 不能继承父pom的变量和依赖 只能继承父pom的依赖管理 管理版本号-->
<dependencyManagement>
<dependencies>
<dependency>
<!-- 注意下面是父项目的坐标 -->
<groupId>cn.pk</groupId>
<artifactId>MAVEN_PARENT_1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
父项目pom中加入:
<properties>
<JSTL-VERSION>1.1.0</JSTL-VERSION>
<IO-VERSION>2.6</IO-VERSION>
</properties>
<!-- 依赖管理 不会下载jar包-->
<dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${JSTL-VERSION}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${IO-VERSION}</version>
</dependency>
</dependencies>
</dependencyManagement>