1. 创建父工程
创建普通springboot项目(推荐)
勾选父子共用依赖
创建maven父项目,一样
直接下一步
2. 创建springboot子模块
后续和创建普通项目相同步骤,可以创建多个
3. 修改文件目录
父工程目录
只留下画圈的文件
子模块(可以不修改)
只留下画圈的
4. 修改父工程pom文件
设置父级项目打包方式pom
<!--修改打包方式,不写默认是jar包-->
<packaging>pom</packaging>
在父级项目中的pom.xml文件使用的packaging配置一定为pom。父级的pom文件只作项目的子模块的整合,在maven install时不会生成jar/war压缩包
指定父工程包含的所有子模块和编译顺序
<modules>
<module>order-service</module>
<module>user-service</module>
</modules>
通过标签来整合子模块的编译顺序,因此尽量将更加底层的service放在更先的位置优先加载依赖较为合适。
统一版本号properties
在标签内可以把版本号作为变量进行声明,后面dependency中用到版本号时可以用${变量名}的形式代替,
这样做的好处是:当版本号发生改变时,只有更新properties标签中的变量就行了,不用更新所有依赖的版本号以前一直不理解这句话,
后来碰到多模块maven项目时深切体会到这样做的好处,
在父工程pom文件中定义该标签的变量,其他子类工程对该依赖引用后,当依赖的版本号发生改变时,只需要修改父工程该依赖的版本号即可。...
<properties>
<java.version>1.8</java.version>
</properties>
还可以指定maven编码格式
<properties>
<!--指定源码的字符集,maven执行的编码格式-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
统一依赖版本号dependencyManagement
在父工程pom文件中,选择使用哪个,声明依赖还是引入依赖
dependencyManagement: 只在父工程内声明好依赖但是不引入,子项目pom中引入时不用写版本号,会使用父工程相同版本号
dependencies: 子项目中没有用到这个依赖,也会引入这个依赖
5. 修改子模块pom
<!--指定父工程-->
<parent>
<artifactId>springcloud-study</artifactId>
<groupId>com.lskisme</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>