SpringCloud/Alibaba 聚合项目搭建
1. 创建父工程
1.1 New Project
- 1. 创建父工程
- 1.1 New Project
- 1.2聚合总父工程名字
- 1.3 Maven 版本
- 1.4 字符编码
- 1.5 注解生效激活
- 1.6 Java编译版本选择
- 1.7 File Type 过滤
- 2. 父工程 POM
- 2.1 POM
- 2.2 dependencyManagement 与 dependencies 区别
- 3. 验证 maven 与 idea 的整合
- 4. 添加子 Module
- 4.1 使用 springboot 模板方式
- 4.2 修改子 module 的 pom 文件
- 4.3 修改父 pom 文件
- 4.4 启动测试
4.0.0
com.wpp
springcloud
1.0-SNAPSHOT
pom
UTF-8
1.8
1.8
4.12
1.2.17
1.16.18
5.1.47
1.1.16
1.3.0
org.springframework.boot
spring-boot-dependencies
2.2.2.RELEASE
pom
import
org.springframework.cloud
spring-cloud-dependencies
Hoxton.SR1
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
2.1.0.RELEASE
pom
import
mysql
mysql-connector-java
${mysql.version}
com.alibaba
druid-spring-boot-starter
${druid.version}
maven-site-plugin
3.7.1
org.apache.maven.plugins
maven-site-plugin
en,fr
2.2 dependencyManagement 与 dependencies 区别
像上面那样做的好处就是:如果有多个子项目都引用同一个依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的一个版本,只需要声明 version 就可。
- dependencyManagement 里只是声明依赖,并不实现,因此子项目需要显示的声明需要用的依赖。
- 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且 version 和 scope 都读取自父pom;
- 如果子项目中指定了版本号,那么会使用子项目中指定的 jar 版本。
结果为:BUILD SUCCESS,说明已整合完毕
主要修改标签内容,即父类的坐标。 标签中的 jar 包坐标(继承父类不需要写版本号)
springcloud
com.wpp
1.0-SNAPSHOT
order
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-actuator
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-devtools
runtime
true
4.3 修改父 pom 文件
order
4.4 启动测试