1

プロジェクトのバージョンがである場合、fooコマンド1.0-SNAPSHOTを実行する必要があります

 mvn install -Dclassifier=bar

foo-1.0-SNAPSHOT-bar.jarローカル.m2ディレクトリにインストールしますか?私はこれを試してみましたが、インストールfoo-1.0-SNAPSHOT.jarされ、mavenインストールプラグイン-Dclassifierはオプションについてあまり詳細を提供しません。

分類子を使用してjarを(ローカルに)インストールする方法はありますか?

4

1 に答える 1

2

その-Dclassifierパラメーターは目標に関連付けられていますがinstall:install-file、これはデフォルトのビルドライフサイクルのインストールフェーズで実行される目標ではありません。むしろ、アドホックコマンドライン方式でセカンダリアーティファクトをインストールするために使用されます。言い換えれば、通常実行中のMavenビルドのコンテキスト外でリポジトリに何かを貼り付けるためのものです。

を使用してデフォルトのビルドライフサイクルを呼び出すとmvn install、インストールフェーズで[install:install][1]目標が実行されます。したがって、mvn install -Dclassifier=barを実行すると、デフォルトのビルドされたライフサイクルが実行され、そのパラメーターは何にも使用されませんでした。

install:install目標は、ドキュメントに記載されているように、アーティファクトprimary artifactだけでなく、アーティファクトもインストールします。ビルドによって生成されたjarは、主要なアーティファクトです。分類子はありません。アタッチされたすべてのアーティファクトは、プライマリアーティファクトからそれらを一意に識別するために4番目のMaven座標を必要とします。この座標が分類子です。 secondaryattached

アーティファクトを添付しない限り、分類子は必要ありません。添付されたアーティファクトはどこから来ますか?これらは、主要なアーティファクトに加えて、ビルドによって生成されるものです。したがって、アセンブリプラグインによって構築されたものである可能性があります。プロジェクトのソースファイルなどを含む別のjarである可能性があります。分類子は、アセンブリプラグインなどのセカンダリアーティファクトをアタッチするメカニズムによって決定されます。

于 2013-01-18T22:52:56.463 に答える