1. ホーム
  2. maven-2

[解決済み] ローカルリポジトリへの "mvn deploy "と "mvn install "の違いは何ですか?

2023-01-01 09:37:50

質問

私のチームは、Apache を使用して開発サーバーから共有される内部チーム maven リポを使用しています。また、同じマシン上で Continuum CI サーバーも実行しています。Continuum での Maven ビルドは、最終的なアーティファクトを共有ディレクトリに直接コピーする "install" 目標で実行されます。

を使用して共有レポにファイルを追加するのと何が違うのでしょうか? mvn install を使用して共有リポジトリにファイルを追加することと、デプロイゴール (mvn-deploy プラグイン) を使用することの違いは何ですか?

を使用することは、私には思えます。 mvn deploy を使用すると、追加の設定の手間が発生するように思えますが、共有リポジトリにファイルをインストールすることは、maven の内部動作に関連する何らかの理由で悪い考えであると、どこかで読んだことがあります。

の機能的な差異を理解しました。 deployinstall 私は、maven リポジトリにどのようなファイルが作成されるかという点で、低レベルの詳細についてより興味を持っています。

どのように解決するのですか?

Kenさん、いい質問ですね。 私はより明確にする必要があります 決定版ガイド とは、ビルドにおける 2 つの異なる目的を果たすものです。

例です。

  1. 自分のマシンで大規模なマルチモジュール プロジェクトを実行する場合、通常は "mvn install" を実行することにしています。 これは、生成されたすべてのバイナリ ソフトウェア アーティファクト (通常は JAR) を私のローカル リポジトリにインストールするものです。 それから、ビルドで個々のモジュールをビルドするときに、Maven はローカルリポジトリから依存関係を取得します。

  2. スナップショットやリリースをデプロイするとき、私は "mvn deploy" を実行するつもりです。 これを実行すると、リモート リポジトリまたはサーバーにファイルをデプロイしようとします。 通常、私は以下のようなリポジトリマネージャーにデプロイするつもりです。 ネクサス

確かに "deploy" を実行すると、いくつかの余分な設定が必要になり、POM の distributionManagement セクションを提供する必要があります。