1

私はMavenとJenkinsを初めて使用するため、同じJenkinsジョブでMavenによってビルドされたJARファイルを抽出する最も一般的な方法がわかりません。

mvn installJenkinsジョブで実行すると、ファイルが出力されます/home/user/.jenkins/workspace/$JOB_NAME/project/target/package-2.0.0.jar

のようなディレクトリに解凍して、/opt/projectを呼び出します/opt/project/script.sh

ビルド後のシェルスクリプトを呼び出すことを考えjar -xvf <path>/package-2.0.0.jarましたが、バージョン番号(2.0.0)を取得するにはどうすればよいですか?たぶん、これを行うためのMavenの目標がありますか?

4

2 に答える 2

2

そのアーティファクトを他のモジュール(シェルスクリプトを実行するモジュール)の依存関係として定義し、依存関係プラグインを使用して解凍します

つまり、Mavenプロジェクトには(少なくとも)2つのモジュールがあります。1つはjarを生成し、もう1つは1番目に生成されたアーティファクトを処理します。

それがニーズに合わない場合は、インストールフェーズの後にアンパックをバインドして(アーティファクトはインストールフェーズでローカルリポジトリに入れ、依存関係プラグインはローカルリポジトリからのアーティファクトのみを処理します)、そこで実行できます。

それでも満足できない場合は、を使用してMavenpom.xmlファイルでアーティファクト名を取得できます${project.build.finalName}。デフォルトはここに表示されているとおりです(スーパーpomを見てください)${artifactId}-${version}。接尾辞が必要な場合は、次のようになります${artifactId}-${version}.${packaging}

于 2013-01-07T11:14:00.373 に答える
1

Linuxベースのシステムで実行している場合

jar -xvf `ls <path>/package-*.jar`

仕事をします。

于 2013-01-07T14:29:32.893 に答える