web-dev-qa-db-ja.com

mvnクリーンインストールとデプロイとリリース

私はただ単にMavenを学んでいますが、最近、どんどん行く必要があります。の違いを知りたい

mvn clean install

mvn release

mvn deploy

できるだけ説明的にしてください。

115
myusuf3

cleaninstallおよびdeployフェーズは有効です ライフサイクルフェーズ および呼び出しそれらはそれらに先行するすべてのフェーズ、およびこれらのフェーズにバインドされた目標をトリガーします。

mvnクリーンインストール

このコマンドは、cleanフェーズを呼び出し、次にinstallフェーズを順番に呼び出します。

  • cleanプロジェクトのディレクトリでビルド時に生成されたファイルを削除します(デフォルトではtarget
  • installパッケージをlocalリポジトリにインストールし、他のプロジェクトの依存関係としてローカルで使用します

mvn deploy

このコマンドは、deployフェーズを呼び出します。

  • deploy最終パッケージをremoteリポジトリにコピーして、他の開発者やプロジェクトと共有する

mvnリリース

これは有効なフェーズでも目標でもないため、何もしません。しかし、 Mavenリリースプラグイン を参照する場合、リリース管理の自動化に使用されます。プロジェクトのリリースは、prepareperformの2つのステップで行われます。文書化されているとおり:

リリースの準備は、次のリリースフェーズを通過します。

  • ソースにコミットされていない変更がないことを確認します
  • SNAPSHOT依存関係がないことを確認します
  • POMのバージョンをx-SNAPSHOTから新しいバージョンに変更します(使用するバージョンの入力を求められます)
  • POMのSCM情報を変換して、タグの最終宛先を含めます
  • 変更されたPOMに対してプロジェクトテストを実行して、すべてが正常に機能していることを確認します
  • 変更されたPOMをコミットする
  • SCMのコードにバージョン名をタグ付けします(これはプロンプトが表示されます)
  • POMのバージョンを新しい値y-SNAPSHOTにバンプします(これらの値も要求されます)
  • 変更されたPOMをコミットする

その後:

リリースを実行すると、次のリリースフェーズが実行されます。

  • オプションのタグを使用したSCM URLからのチェックアウト
  • 事前定義されたMavenゴールを実行してプロジェクトをリリースします(デフォルトでは、サイト展開を展開します)

こちらもご覧ください

205
Pascal Thivent
  • mvn installは、プロジェクトを依存関係として使用するローカルアプリケーション用に、パッケージ化されたMavenプロジェクトをlocalリポジトリに配置します。
  • mvn releaseは、基本的に現在のコードをSCMのタグに入れ、プロジェクトのバージョンを変更します。
  • mvn deployは、パッケージ化されたMavenプロジェクトをremoteリポジトリに配置して、他の開発者と共有します。

リソース:

24
Colin Hebert