2.公共依赖抽取
进行了分模块设计与开发之后,在进行依赖配置的时候,如果各个子工程中都需要引入某一项依赖,比如 lombok,如果在各个子工程中分别引入,会比较麻烦
我们可以直接统一抽取到父工程,在父工程中统一进行配置的,父工程一旦引入了这部分公共的依赖之后,各个子工程都会继承下来。
可以在 qk-parent 这个父工程中,引入lombok、hutool的依赖。 父工程的pom.xml配置如下,请注意新增的配置代码只在下面代码中的起始点和结束点!!!
xml
<?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>
<properties>
<!--需要加入到父模块的配置起始点-->
<!--项目依赖版本设置-->
<lombok.version>1.18.46</lombok.version>
<hutool.version>5.8.44</hutool.version>
<qk.version>1.0-SNAPSHOT</qk.version>
<!--需要加入到父模块的配置结束点-->
</properties>
<!--需要加入到父模块的配置起始点-->
<!--依赖版本管理,只对当前模块和子模块进行版本锁定,不会下载依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!--锁定当前项目其他模块依赖的版本-->
<dependency>
<groupId>com.cghbh</groupId>
<artifactId>qk-entity</artifactId>
<version>${qk.version}</version>
</dependency>
<dependency>
<groupId>com.cghbh</groupId>
<artifactId>qk-common</artifactId>
<version>${qk.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--需要加入到父模块的配置结束点-->
<!--需要加入到父模块的配置起始点-->
<!--引入通用依赖,这里才是真正下载依赖的地方!!!-->
<!--在父工程的dependency声明的依赖,子模块会继承,这里才是实际发挥作用的配置!!!-->
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
</dependencies>
<!--需要加入到父模块的配置结束点-->
</project>然后我们可以打开右侧的maven面板,可以看看各个子工程中,都已经引入了lombok、junit依赖:

此时,qk-management这个模块pom.xml中的hutool、lombok依赖就可以删除了,因为这两个依赖已经从父工程继承到了。