6

ゴールを使用して署名ファイルdeploy-fileを Nexus ステージング リポジトリに個別にデプロイしようとしていますが、mvn deploy プラグインが拡張機能を削除していることに気付きました。私のファイルは次のようなものです:azerty-0.1.jar.asc

しかし、展開されるファイルは次のとおりです。azerty-0.1.asc

分類子を追加してみました:-Dclassifier=jar

展開されるファイルは次のとおりです。azerty-0.1-jar.asc

これは奇妙な動作のようです。

質問: それを回避する方法はありますか?

4

1 に答える 1

6

これはかなり正常な動作です。Maven はファイル拡張子を artefact packaging、 from maven-deploy-plugindeploy-filepackagingオプションとして使用しています。

デプロイするアーティファクトのタイプ。<packaging>POM ファイルが指定されている場合は、POM ファイルの要素から取得されます。コマンドラインまたはPOMで指定されていない場合、デフォルトでファイル拡張子になります。

注:太字は私です。

さらに、このclassifierオプションは実際に-、バージョンと分類子として提供される文字列の間に を追加します。これは maven の規則です。

あなたの場合、リモートファイルに拡張子を本当に付けたい場合packagingは、特別なを指定します。jar.ascjar.asc

したがって、次のように動作します。

mvn deploy:deploy-file -Dfile=azerty-0.1.jar.asc -Dpackaging=jar.asc -DrepositoryId=your_id -Durl=http://your_repository -DgroupId=your_groupId -DartifactId=azerty -Dversion=0.1

-Dpackaging=jar.ascMaven にファイル拡張子を効果的に伝える に注意してくださいjar.asc


一般的な注意として、リポジトリをビルドストアとして使用している場合、それはまだ合理的です。 .

代わりに、これが実際にプロジェクトの追加アーティファクトである場合は、 のattach-artifactゴールを調べて、それを追加アーティファクトとして効果的に定義する必要があります。その後、Maven はそれをそのandフェーズbuild-helper-maven-pluginに自動的に追加します。installdeploy

于 2016-06-30T14:45:22.063 に答える