アーティファクトをビルドした後、ビルド後のアクションとしてスクリプトを実行してアーティファクトをデプロイしています。そのため、ビルドされた場所を読み取ろうとしています.Hudsonで利用可能な環境変数は、アーティファクトのartifactId、Version、PackageTypeに関する十分な情報を提供していません。
だから、誰でもこれらの値を取得する方法について私を助けることができます....
前もって感謝します
アーティファクトをビルドした後、ビルド後のアクションとしてスクリプトを実行してアーティファクトをデプロイしています。そのため、ビルドされた場所を読み取ろうとしています.Hudsonで利用可能な環境変数は、アーティファクトのartifactId、Version、PackageTypeに関する十分な情報を提供していません。
だから、誰でもこれらの値を取得する方法について私を助けることができます....
前もって感謝します
http://${BUILD_URL}/job/${JOBNAME}/${BUILDNUMBER}/api/xml?xpath=//artifact/fileName/text()
それを使用して環境変数に設定できます。これはアーティファクトが 1 つの場合にのみ機能し、それ以上のアーティファクトがある場合は、追加の解析を行う必要があります。
Maven によってビルドされたすべてのアーティファクトには、この情報を保持する META-INF エントリが含まれています。それらを JarFile として読み取ります。
JarFile jf = new JarFile(path/to/artifact);
JarEntry propsEntry = jf.getJarEntry("META-INF/maven/pom.properties");
Properties props = new Properties();
props.load(jf.getInputStream(propsEntry));
// retrieve the values:
String groupId = props.get("groupId");
String artifactId = props.get("artifactId");
String version = props.get("version");
あなたの質問を完全に誤解しているかもしれませんが、ファイルシステムとWORKSPACE環境変数を介してアーティファクトを取得しない理由はありますか?${WORKSPACE}/target/...