Maven设置版本和bash

Maven设置版本和bash,bash,maven,Bash,Maven,如果我从命令行执行mvn versions:set-DnewVersion=14.7.1-SNAPSHOT,它会工作,但是如果我使用 #!/bin/sh mvn versions:set -DnewVersion=$1; 并使用参数14.7.1-SNAPSHOT运行它,它会弹出错误 [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in

如果我从命令行执行
mvn versions:set-DnewVersion=14.7.1-SNAPSHOT
,它会工作,但是如果我使用

#!/bin/sh
mvn versions:set -DnewVersion=$1;
并使用参数
14.7.1-SNAPSHOT
运行它,它会弹出错误

[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]尚未为此生成指定任何目标。必须以以下格式指定有效的生命周期阶段或目标:或:[:]:。可用的生命周期阶段包括:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程测试资源、测试编译、流程测试类、测试、准备包、包、预集成测试、,集成测试、集成后测试、验证、安装、部署、预清理、清理、清理后、预站点、站点、站点后、站点部署。->[帮助1]
为什么呢


请注意,脚本与pom.xml位于同一文件夹中。

可能完全错误,但请检查您的别名中是否有任何其他
mvn
,或者路径中是否有另一个名为
mvn
的程序优先。

您是如何运行脚本的,从哪个目录?我从pom.xml文件所在的同一文件夹中运行脚本,其中包含
/setversion 14.7.1-SNAPSHOT
,为什么要添加
在最后一行?就是这样。指向最新mvn的别名。将整个路径放在脚本中,它就工作了。