2016-11-17 4 views
1

CIシナリオのスナップショットバージョンを区別するために、アーティファクト名にgit commitハッシュを含めようとしました。 gitハッシュはプロジェクトのターゲット/フォルダに正常に含まれていますが、最後のmavenステップでアーティファクトを自分のHOME/.m2/repositoriesフォルダにコピーし、名前をARTIFACTID-VERSION-mta.jarに変更します。maven-install-plugin(デフォルトインストール)にmavenアーティファクト名を保存

コミットハッシュを含むターゲット/フォルダからファイル名を保持するにはどうすればよいですか?

私はmaven-install-pluginを見ましたが、 "finalName"プロパティなどを見つけることができませんでした。

[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ projectname --- 
[INFO] Installing PROJECTDIR/pom.xml to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1.pom 
[INFO] Installing PROJECTDIR/target/projectname-1.0.1-d054c42-mta.jar to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1-mta.jar 

私は最後の行は、それが出力フォルダを変更するため

[INFO] Installing PROJECTDIR/target/projectname-1.0.1-d054c42-mta.jar to ~/.m2/repository/GroupIdDir/projectname/1.0.1/projectname-1.0.1-d054c42-mta.jar 

Controlling maven final name of jar artifact

で問題が解決しないようにしたいと思います。

+0

参照してください。ローカルリポジトリの名前は 'artifacId-version(-classifier).type'の規則に従います。変更することはできません。 http://stackoverflow.com/questions/17024803/version-in-jar-name – Tunaki

+0

コミットハッシュを分類子として設定できますか? –

+0

あなたは_Could_ですが、新しいコミットがあるたびにそのMaven座標が変更されるので、それに依存する各プロジェクトは、それぞれのコミットのために ' '宣言を変更する必要があります。それについてはhttp://stackoverflow.com/questions/8354201/how-do-i-build-only-one-jar-file-with-classifierを参照してください。 MavenのSNAPSHOTメカニズムをゼロから再構築しようとしているようです。なぜあなたのプロジェクトを '1.0.1-SNAPSHOT'にバージョンアップしないのですか? – Tunaki

答えて

0

これは、リポジトリレイアウトのおかげです。

リポジトリレイアウト定義

これは、Mavenの2.xと その関連Antタスクで利用可能なリポジトリのための最終的なレイアウトです。二次アーチファクトについて /$groupId[0]/../${groupId[n]/$artifactId/$version/$artifactId-$version.$extension

:主要アーティファクトについて

/$ groupIdを[0] /../$のgroupId [N]/$たartifactId/$バージョン/ $ artifactId- $バージョン - $クラシファイア。$拡張子

あなたはそれを行うことはできませんhttps://cwiki.apache.org/confluence/display/MAVENOLD/Repository+Layout+-+Final

+0

このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になることがあります –

関連する問題