Maven如何从指定版本范围中显式选择并使用最新可用版本
有的,分两种场景对应不同的处理方式:
场景1:仅构建时临时使用范围内最新版本,不需要修改pom文件
Maven 3.6本身默认就支持版本范围的解析逻辑,你配置的[1.19.0,2.0)规则会在每次执行构建相关goal(比如mvn clean install)时,自动匹配本地/远程仓库中符合「大于等于1.19.0、小于2.0.0」要求的最新版本直接使用,不需要额外执行其他goal。
场景2:需要把pom中的版本范围直接替换为当前最新的具体版本号(永久固定版本)
可以使用Versions Maven Plugin提供的versions:use-latest-versions goal实现,执行以下命令即可:
mvn versions:use-latest-versions -Dincludes=com.google.http-client:google-http-client -DallowMajorUpdates=false
参数说明:
-Dincludes=com.google.http-client:google-http-client:限定仅修改指定的依赖,避免误改项目内其他依赖的版本-DallowMajorUpdates=false:禁止升级到大版本号变更的版本,刚好匹配你[1.19.0,2.0)的范围要求,只会在1.x版本分支中选择最新版
执行后如果确认修改符合预期,可以运行mvn versions:commit提交pom的变更;如果想撤销修改,运行mvn versions:revert即可回滚到修改前的状态。
内容的提问来源于stack exchange,提问作者Utkarsh Saraf
相关产品推荐
相关产品推荐

