如何正确执行mvn versions:set为Maven项目设置指定精确版本号
问题根因
该问题由Windows下的命令行环境(PowerShell/CMD)的参数解析规则导致:这类环境会将-DnewVersion=9.0.174.33-SNAPSHOT参数从第一个.的位置拆分为两个独立参数,其中第一个参数-DnewVersion=9导致pom版本仅被修改为9,第二个参数.0.174.33-SNAPSHOT被Maven识别为不存在的生命周期阶段,因此抛出对应报错。
解决方案
- 方案1(全环境通用):给所有
-D开头的参数加上双引号包裹,避免参数被拆分:mvn versions:set "-DnewVersion=9.0.174.33-SNAPSHOT" "-DprocessAllModules" - 方案2(仅PowerShell环境适用):在参数的
-D前加反引号转义:mvn versions:set `-DnewVersion=9.0.174.33-SNAPSHOT `-DprocessAllModules - 方案3:切换到Git Bash、WSL等类Unix命令行环境,直接执行你原本编写的命令即可正常运行。
内容的提问来源于stack exchange,提问作者Thiluxan
相关产品推荐
相关产品推荐

