如何将Maven项目版本获取到bash命令行
上一期,我提出了一个有关如何从命令行更改Maven项目版本的问题,这导致我遇到了新问题。 以前,我能够获得版本号,因为版本存储为易于通过命令行(bash)进行grep和解析的属性。现在已经使用了pom.xml元素,它不再是唯一的,因为所有依赖项(可能还有其他依赖项)也都使用了此元素。我认为,没有外部工具来解析xml或一些非常了解上下文的sed命令,就无法通过bash脚本获取当前版本号。 在我看来,最干净的解决方案是让Maven分发此版本信息。我当时正在考虑编写一个自定义的Maven插件来检索不同的属性,但是我想先在这里问一下。 那么,是否有任何简单的方法来获取${project.version}命令行的值?提前致谢。 解 感谢您的帮助。我不得不cd手动访问目录,但是可以轻松完成。在我的bash脚本中,我有 version=`cd $project_loc && mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ /^[0-9]/ { p; q } }'` 这给了我当前的版本,然后可以进行升级。暂存可能会更简单,但是我想我想尽可能地强大,所以我对以数字开头的第一行感到满意,并尝试将其作为版本号来处理。 # Advances the last number of the given version string by one. function advance_version () { local v=$1 # Get the last number. First remove …