在Maven中,我们可以通过dependencyManagement把Jar包版本进行统一管理,以后各项目引用组件时,就不用标注组件的版本号了。这为解决多项目版本冲突问题带来了很大的便利。
那么在Gradle中,是否也可以实现Maven的这个特性呢?答案是肯定的。看了网上的一些资料,发现有些方法比较绕,感觉思路不是很对。其实在官网上就有介绍这个问题,在这里也和大家再做一个分享。
1)创建一个项目,里面只需一个build.gradle文件即可。待会我们把要管理的依赖及其版本都封装到这个gradle脚本中,最后把它打包成POM文件,发布到Maven私服中。
build.gradle需要先引用java-platform和maven-publish插件;然后在dependencies的constraints方法里,配置要统一管理的依赖(这里以hutool-core的5.7.14版为例);最后在publishing方法里,配置POM文件的GAV坐标信息,以及Maven私服的信息。
2)脚本配置完成后,IDEA的Gradle Task面板中,就会出现我们刚才配置的发布任务。我们选择把它发布到Maven私服中