1、创建父工程
创建一个普通的Maven项目,File》New 》Project 》Maven Archetype
父级的pom文件只作项目子模块的整合,在maven install时不会生成jar/war压缩包。
创建好后删除刚创建工程里不需要的文件, 只保留:.idea 文件夹 、项目 pom 文件,如果没有.gitignore文件,就在根目录下自己添加一个。
在pom.xml文件中手动修改packaging类型为pom类型
<!-- 父项目,指定为pom类型,即父级的pom文件只作项目子模块的整合,在maven install时不会生成jar/war压缩包。-->
<packaging>pom</packaging>
pom.xml 文件在创建子模块之前内容如下:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.quick</groupId>
<artifactId>quick-cloud</artifactId>
<version>1.0</version>
<!-- 父项目,指定为pom类型,即父级的pom文件只作项目子模块的整合,在maven install时不会生成jar/war压缩包。-->
<packaging>pom</packaging>
<name>quick-cloud</name>
<url>http://www.quick.com</url>
<description>敏捷开发微服务系统</description>
<properties>
<!-- 关掉单元测试,否则在打包的时候会执行单元测试 -->
<skipTests>true</skipTests>
<!-- 项目构建时源码的编码方式 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 报告输出文件的字符编码 -->
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码; 否则在DOS下运行mvn compile命令时会出现莫名的错误,因为系统默认使用GBK编码,如果不在dos下执行mvn compile命令,可以不用配置-->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<!-- 项目编译使用jdk版本,设置输入源码的jdk为 1.8 -->
<maven.compiler.source>1.8</maven.compiler.source>
<!-- 项目编译使用jdk版本,设置编译输出的字节码的jdk为 1.8 -->
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
2、创建子模块
右键点击父工程,选择 New -> Module... 创建子模块。这里依次创建 quick-common模块,其它模块类似。
切记:图片里面的Version 1.0 一定不要改,否则会报错(我改成了1.0.0):
The desired archetype does not exist (org.apache.maven.archetypes:maven-archetype-archetype:1.0.0)
父模块pom文件里面会多出一个modules配置
<!-- 子模块 -->
<modules>
<module>quick-common</module>
</modules>
子模块创建好后删除刚创建子模块工程里不需要的文件, 只保留:src 文件夹 、项目 pom 文件。
子模块pom文件默认初始化内容
3、父pom文件中添加依赖管理
在SpringBoot 2.4.x的版本之后,对于bootstrap.properties或者bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持,需要导入如下的依赖。
<!-- 依赖管理 -->
<dependencies>
<!-- bootstrap 启动器,在SpringBoot 2.4.x的版本之后,对于bootstrap.properties或者bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持,需要导入如下的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
</dependencies>
spring-cloud-starter-bootstrap 是 Spring Cloud 框架中的一个组件,用于提供配置文件的加载和解析功能。它可以帮助 Spring Boot 应用程序从配置服务器(例如 Spring Cloud Config)中加载配置文件,并在应用程序启动时将其解析为 Spring Boot 属性。
关于 spring-cloud-starter-bootstrap 的版本问题,它的版本应该与您使用的 Spring Cloud 版本相匹配。您可以在 Spring Cloud 的文档中找到相应的版本号。例如,如果您正在使用 Spring Cloud 2020.0.x 版本,那么您应该使用 spring-cloud-starter-bootstrap 2.4.x 版本。
此外,需要注意的是,在 Spring Cloud 2021.0 版本中,spring-cloud-starter-bootstrap 已经被弃用,取而代之的是 spring-cloud-starter-config 组件。如果您正在使用 Spring Cloud 2021.0 版本或更高版本,建议使用 spring-cloud-starter-config 组件替代 spring-cloud-starter-bootstrap 组件。
标签:和子,工程,Spring,pom,starter,模块,spring,cloud From: https://www.cnblogs.com/shigzh/p/17855287.html