今天写linux shell脚本时需要获取maven项目的版本号,也就是pom.xml中的${project.version}
在Stack OverFlow上找到这个帖子:

《How to get Maven project version to the bash command line》

大神们提供了好几种方法。摘要如下,经实测都可用,挑一个自己喜欢的就好。

mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ /^[0-9]/ { p; q } }'
mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout
mvn -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive exec:exec -q
MAVEN_OPTS="\
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.plugins.help=INFO" \
mvn help:evaluate -o -Dexpression=project.version | tail -1
Logo

更多推荐