Maven聚合工程
一、概念
- 两个组件之间的互相调用必须要被打包在同一个jar包中
二、创建聚合工程
2.1 创建父工程
创建一个maven工程
修改父工程的pom.xml文件,设置打包方式为pom
<?xml version="1.0" encoding="UTF-8"?> <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>org.example</groupId> <artifactId>Maven-pro</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> </project>
父工程用于管理子工程,不进行业务实现
2.2 创建Module
创建新module子工程
子工程继承父工程
<?xml version="1.0" encoding="UTF-8"?> <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"> <!-- 继承父工程 --> <parent> <artifactId>Maven-pro</artifactId> <groupId>org.example</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>common</artifactId> </project>
父工程声明子module
<?xml version="1.0" encoding="UTF-8"?> <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>org.example</groupId> <artifactId>Maven-pro</artifactId> <version>1.0-SNAPSHOT</version> <modules> <module>common</module> </modules> <packaging>pom</packaging> </project>
子模块组件直接调用
易错点:一定要注意打包路径名称不要写错了,不然就会找不到包路径,报unkown的错误
三、Maven依赖继承
3.1 依赖继承
- 在父工程pom中添加的依赖都会被子工程继承
- 子工程pom中单独添加的依赖,父工程无法引用
3.2 依赖版本管理
- 父工程pom中的dependencyManagement中定义的依赖,子工程若想使用,必须在pom中再次定义,但是不需要添加版本,版本默认被父工程的dependencyManagement管理