コマンドラインからプロジェクトのバージョン番号を取得Mavenを[ターン]

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

 

私は、コマンドラインで、あなたのMavenプロジェクトのバージョンを取得するような状況に直面してきた賭けますか?そこで問題は、それを取得する方法ですか?私のようなLinuxツールを使用して経由で多くのソリューションを見ている  grep、  cat または  awk その他にも次のようにexecの-のmaven-プラグインを使用してのような多くのソリューションを見て:

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)

残念ながら、上記のアプローチは、Windows上で動作しません。

以降では  Mavenのプラグインのヘルプリリース3.1.0  これは、以下のような、より簡単に行うことができます。

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

これはまさに、stdoutと他には何も上の成果物のバージョンを出力します。また、改行が印刷されません。

これは、このようなスクリプトで簡単に使用することができます。

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

あなたが正しくあなたのポンポンのファイルまたはプロジェクトの親ポンポンであなたのプラグインのバージョンを固定している場合、これは次のように単純化することができます。

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

別にバージョンを抽出するから、あなたはまた、次のようにポンポンファイルから他の情報を抽出することができます。

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

次のようなより洗練された表現はあまりにも可能です。

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

 

おすすめ

転載: www.cnblogs.com/pekkle/p/10935991.html