Maven浅析(下)
MAVEN继承
意义
来统一管理一个集群中的所有公用资源
继承要做的事
子工程groupId可以从父工程继承,表示同一个公司的同一个项目,可以覆盖.
version可以继承,也可以覆盖
properties:父工程可以定义变量,子工程继承使用
<junit.version>3.8.1</junit.version>
build(plugins):构建的插件,也可以继承自父工程
dependencyManagement:声明式依赖资源继承,子工程在继承父工程时从这个标签里获取的是父工程定义的所有依赖资源版本.当子工程使用依赖时无需添加版本version标签,就会从父工程继承使用,如果子工程不添加这个依赖,将不会从父工程强制继承.
原始的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>com.wiscom</groupId> <artifactId>springboot-test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot-test</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
创建父工程
将packaging的类型改为pom
<groupId>com.wiscom</groupId> <artifactId>maven-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> // 将此处改为pom表示这是一个父级工程 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> // 定义变量,也可以被子工程调用 <junit.version>4.12</junit.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> //<version>3.8.1</version> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.7.RELEASE</version> </dependency> </dependencies> </dependencyManagement>
创建子工程
需要指向它的继承
子工程
groupId
,version
可以从父工程继承如果不修改,表示同一个公司的同一个项目的同一版本
也可以修改,覆盖
<groupId>com.wiscom</groupId> <artifactId>springboot-test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> // 继承的父工程 <parent> <groupId>com.wiscom</groupId> <artifactId>maven-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <name>springboot-test</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> //<version>3.8.1</version> <version>${junit.version}</version> <scope>test</scope> </dependency> // 依赖式继承时,不添加版本号将与父类保持一致 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> </dependencies>
保存redis相关笔记