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 } }'` これにより、次に進むことができる現在のバージョンがわかります。Greppingの方が単純かもしれませんが、できるだけ堅牢にしたいと思ったので、番号で始まる最初の行に満足し、バージョン番号としてこれを処理しようとしました。 # Advances the last number of the given version string by one. function advance_version () { local v=$1 # Get the last number. First remove …