专栏首页10km的专栏maven:从命令行(commandline)读取取pom.xml中的属性(property)

maven:从命令行(commandline)读取取pom.xml中的属性(property)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/10km/article/details/103333098

如何在命令行(shell)读取pom.xml中的属性呢? 我在网上找到如下回答: https://stackoverflow.com/questions/23802951/get-pom-xml-property-from-commandline

就是用maven的内置插件 maven-help-plugin 来实现,在windows 命令行下如下实现:

mvn help:evaluate -Dexpression=[property-name] | findstr /R ^^[^^\[INFO\]]

这其中用到了findstr命令(在linux下要用grep或sed来代替)过滤mvn输出的内容进行得到需要的值,以${project.version}为例

mvn help:evaluate -Dexpression=project.version | findstr /R ^^[^^\[INFO\]]

不依赖findstr过滤更简单通用的方式如下:

mvn help:evaluate -Dexpression=project.version -q -DforceStdout

但是我用的MAVEN 3.5.0下执行并不成功,什么也没有输出,百思不得其解

后来找到下面的文章,就明白了:forceStdout这个选项是在maven-help-plugin 3.2.0以上版本才有效的(我在maven 3.5.0下执行时,maven-help-plugin默认使用的版本是2.2)。

https://stackoverflow.com/questions/3545292/how-to-get-maven-project-version-to-the-bash-command-line

所以如下指定help插件的版本就可以正常输出了:

mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout

参考资料 help:evaluate的官方文档: http://maven.apache.org/plugins/maven-help-plugin/evaluate-mojo.html NOTE:根据这个文档,forceStdout这个选项从maven-help-plugin 3.1.0就有了,但3.1.0版本下实测也是无效的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • maven:linux shell获取项目版本号(project.version)的方法

    今天写linux shell脚本时需要获取maven项目的版本号,也就是pom.xml中的${project.version}。 在Stack OverFlo...

    用户1148648
  • java nio:Files.isSameFile判断两个路径(Path)是否相等

    不论在windows还是linux下,仅凭字符串比较判断两个文件路径是否相等是不靠谱的。因为有link,Disk map等技术的存在,两个不同的路径有可能指向同...

    用户1148648
  • jedis:commons-pool-evictor-thread线程不能自动关闭?

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • 后优步爱彼迎时代,CBinsights发布50家新独角兽潜力榜单,中国5公司上榜

    价值10亿美元的科技初创企业曾像独角兽一样罕见,但现在它们的数量已足够多,成立时间也足够久。

    大数据文摘
  • 基于 vue2 构建和后台真实交互的 管理系统

    关于 此项目是 vue + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实...

    IMWeb前端团队
  • 基于 vue2 构建和后台真实交互的 管理系统

    此项目是 vue + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实的注册...

    IMWeb前端团队
  • 聊聊Elasticsearch的ReleasableLock

    elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/common/util/concurren...

    codecraft
  • jQuery筛选器及练习 jQuery初识

    jQuery能极大地简化JavaScript编程,它的宗旨就是:"Write less,do more."

    IT人一直在路上
  • AS3初探

    2. 导入所需要的包(如果无法使用fl包,请参照我的前一篇文章:flex3 里如何导入FLASH CS3的包)

    py3study
  • java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice

    今天在使用动态代理时,遇到了如下问题,报错 java.lang.NoClassDefFoundError: org/aopalliance/aop/Advi...

    用户1154259

扫码关注云+社区

领取腾讯云代金券