父模块pom配置
父pom是为了抽取统一的配置信息和依赖版本控制,方便子pom直接引用,简化子pom的配置。 下面介绍下父pom的配置中需要注意的一些地方:
-
父模块的打包类型 多模块项目中,父模块打包类型必须是pom 需要使用modules标签列出所有的子模块,modules中的每个module,都是另外一个maven项目。
../crowdfunding-common
-
继承设置 继承是maven中很强大的一种功能,继承可以使子pom获得parent中的各项配置,对子pom进行统一的配置和依赖管理。父pom中的大多数元素都能被子pom继承。使用spring boot时默认继承spring-boot-starter-parent,比如:
org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE
-
使用properties控制依赖包的版本号,便于版本维护 在properties标签中,添加各依赖包的版本号,然后在dependency中直接引用该依赖版本号的值即可。
-
使用dependencyManagement管理依赖版本号 一般在项目最顶层的父pom中使用该元素,让所有子模块引用一个依赖而不用显式的列出版本号。maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。
UTF-8
UTF-8
1.8
2.5.3
0.10
com.alibaba
dubbo
${dubbo.version}
org.springframework
spring
com.101tec
zkclient
${zkclient.version}
子模块pom配置
-
继承设置 子模块的parent要使用顶层的父模块.
com.hc crowdfunding-parent 0.0.1-SNAPSHOT
2、依赖设置
父模块pom中使用dependencyManagement来管理的依赖,在子模块pom中就不需要再写版本号了,exclusion元素也不需要再写。