zoukankan      html  css  js  c++  java
  • [转] Maven 从命令行获取项目的版本号

    【From】https://blog.soebes.de/blog/2018/06/09/help-plugin/

    I bet you have been faced with the situation to get the version of your Maven project on command line? So the question is how to get it? I have seen many solutions via using Linux tools like grepcat or awk etc. also seen many solutions like using exec-maven-plugin like this:

    1
    2
    3
    4
    5
    
    VERSION=$(mvn -q 
      -Dexec.executable="echo" 
      -Dexec.args='${project.version}' 
      --non-recursive 
      org.codehaus.mojo:exec-maven-plugin:1.6.0:exec)

    Unfortunately the above approach will not work on Windows.

    Starting with Maven Help Plugin Release 3.1.0 this can be done more easier like the following:

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

    This will exactly print out the version of your artifact on stdout and nothing else. Also no line feed is printed out.

    So this can be used easily in scripts like this:

    1
    
    VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)

    If you have correctly pinned the version of your plugins in your pom file or in a parent pom of the project this can be simplified like this:

    1
    
    VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)

    Apart from extracting the version you can also extract other information from the pom file like the following:

    1
    
    GROUPID=$(mvn help:evaluate -Dexpression=project.groupId -q -DforceStdout)

    More sophisticated expressions like the following are possible too:

    1
    2
    3
    4
    
    GROUPID=$(mvn help:evaluate 
      -Dexpression=project.dependencyManagement.dependencies[0].groupId 
      -q -DforceStdout 
    )

     

  • 相关阅读:
    ARM的存储器映射与存储器重映射
    Nand Flash与Nor
    内核 任务的堆栈切换
    Linux设备模型(总结)
    file结构体中private_data指针的疑惑
    Sysfs文件系统与Linux设备模型
    认识udev
    Linux操作系统下的常见系统资源共享
    linux下的udev是干嘛的,能否说的通俗点
    udev详解
  • 原文地址:https://www.cnblogs.com/pekkle/p/10935991.html
Copyright © 2011-2022 走看看