美文网首页
maven依赖的版本管理

maven依赖的版本管理

作者: 零点145 | 来源:发表于2019-06-16 14:43 被阅读0次

使用变量进行管理

定义一个版本号的变量

4.3.7.REALEASE

所有spring的jar版本都使用变量来定义版本:

org.springframeworkspring-webmvc${spring-framework-version}compileorg.springframeworkspring-test${spring-framework-version}test

使用maven的dependencyManagement管理

单个jar的管理

javax.servletjavax.servlet-api3.1.0

在引用依赖时,不需要填写版本。

javax.servletjavax.servlet-api

在一个项目中,这样做的必要性不大,这种机制一般用于maven项目继承,子项目可以直接使用简化的依赖配置,从而确保和父项目版本一致。

这里有一个问题,如果我们配置了:

org.springframework.dataspring-data-jpa1.10.4.RELEASEorg.springframeworkspring-test4.3.7.RELEASEtest

会发现依赖树中,spring-test是4.3.7,而spring-data-jpa中依赖的其他spring子项目确实4.2.8,这经常会导致一些莫名其妙的问题,比如spring-test异常等等。

这个问题在使用下面的pom来管理时就可以避免了,针对spring-data-jpa项目尤其要注意。

pom管理jar集合的版本

以Spring为例,它包含大量的子项目,为了保持不同子项目的版本一致,官方提供了一个pom专门来管理版本。

org.springframeworkspring-framework-bom4.3.7.RELEASEpomimport

那么大部分一级项目,都可以直接如下引用依赖了。

org.springframeworkspring-testtest

之所以说大部分,如spring-data下面的子项目是Spring子项目中的一个子集。它提供了自己的pom包。

org.springframework.dataspring-data-releasetrainHopper-SR4importpom

它的版本不同于普通的版本号,如1.11.7.RELEASE这种,而是独立的版本体系。

这个字符串的版本号,实际上又对应了真实的版本号,如:

Hopper-SR4<-> 1.10.4.RELEASE

最后给你们推荐一个群,如果你还想提升自己,

欢迎加入Java技术交流群:659270626

本群提供免费的学习指导 提供Spring源码、MyBatis、Netty、Redis,Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx、分布式、高并发、性能调优、等架构技术架构资料 以及免费的解答

不懂的问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导 

相关文章

网友评论

      本文标题:maven依赖的版本管理

      本文链接:https://www.haomeiwen.com/subject/rnkgfctx.html