您现在的位置是:首页 >其他 >[SpringBoot]创建聚合项目网站首页其他
[SpringBoot]创建聚合项目
简介[SpringBoot]创建聚合项目
前言
聚合项目(父子级项目)的核心价值: 版本的控制,可以通过父项目做依赖的管理,而依赖管理的核心其实就是管理各个依赖项的版本。以至于后续我们会有若干个子项目,这些子项目所使用的依赖项的版本是相同的,避免出现版本的冲突,因为子项目间也可能相互依赖,很容易冲突。
首先,创建父级项目:
因为手动添加依赖,以下只选版本不打钩
因为父项目不写代码,所以删除src
调整pom.xml
文件(并刷新maven),如下:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模块版本,是相对固定的取值 -->
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<modules>
<module>untitled</module>
</modules>
<!-- 父级项目,其实,每个基于Spring Boot的项目,都应该是spring-boot-starter-parent的子项目 -->
<!-- 本次建议使用 2.5.x 系列的版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 当前项目的信息 -->
<groupId>cn.tedu</groupId>
<artifactId>csmall-server</artifactId>
<version>0.0.1</version>
<!-- 父项目配置packaging为pom -->
<!-- 此标签的默认值是jar,各子级项目可以不必配置此标签 -->
<packaging>pom</packaging>
<!-- 子级模块项目清单 -->
<modules>
<module>csmall-product</module>
</modules>
<!-- 属性配置 -->
<!-- 可以自定义所需的配置 -->
<properties>
<java.version>1.8</java.version>
<spring-boot.version>2.5.0</spring-boot.version>
</properties>
<!-- 依赖管理 -->
<!-- 配置在此标签下的各依赖,不会被各子项目继承 -->
<!-- 依赖管理主要是管理各依赖项的版本,各项目添加此处配置的依赖项时不必指定版本号 -->
<dependencyManagement>
<dependencies>
<!-- Spring Boot的基础依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- Spring Boot测试的依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 当前项目使用的依赖项 -->
<!-- 在父项目中配置的依赖项,各子项目均可以直接继承得到,即:子项目不需要添加这些依赖 -->
<dependencies>
</dependencies>
</project>
完成后,对父级项目点击鼠标右键,选择New
> Module
以创建子级项目模块,先创建csmall-product
,它是用于处理商品数据管理的:
调整pom文件
关于这个子项目,主要配置:
-
使用
csmall-server
作为父项目 -
添加依赖项
具体配置为:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模块版本,是相对固定的取值 -->
<modelVersion>4.0.0</modelVersion>
<!-- 父级项目 -->
<parent>
<groupId>cn.tedu</groupId>
<artifactId>csmall-server</artifactId>
<version>0.0.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 当前项目的信息 -->
<groupId>cn.tedu</groupId>
<artifactId>csmall-product</artifactId>
<version>0.0.1</version>
<!-- 当前项目使用的依赖项 -->
<dependencies>
<!-- Spring Boot的基础依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- Spring Boot测试的依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 构建项目的配置 -->
<!-- 如果此处的配置报错,可以: -->
<!-- 1. 删除报错的标签,因为,除非你需要将项目打包,否则,可以不需要此处的配置 -->
<!-- 2. 显式的指定版本号可能可以解决报错的问题 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
聚合项目形式
关于依赖项的作用域
在配置依赖项时,可以通过<scope>
指定此依赖项的作用域,例如:
<!-- Spring Boot测试的依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
关于<scope>
的配置值:
-
test
:此依赖项仅用于测试,仅作用于src/test
下的代码,并且,当项目编译打包时,不会被打包
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。