1. ホーム
  2. maven-2

[解決済み] mvn クリーンインストール vs. デプロイ vs. リリース

2022-05-04 01:06:59

質問

mavenを勉強しているところですが、最近どんどん必要になってきています。との違いを知りたいです。

mvn clean install

mvn release

mvn deploy

できるだけ具体的にお書きください。

解決方法は?

その clean , installdeploy フェイズ は有効です ライフサイクル・フェーズ であり、それらを起動すると、それ以前のすべてのフェーズと、それらのフェーズにバインドされたゴールがトリガーされます。

<ブロッククオート

mvn クリーンインストール

このコマンドは clean というフェーズがあり、その後 install フェーズを順次追加していきます。

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

mvnデプロイ

このコマンドは deploy というフェーズがあります。

  • deploy : は、最終的なパッケージを リモート 他の開発者やプロジェクトと共有するためのリポジトリ .
<ブロッククオート

mvnリリース

これは有効なフェーズでもゴールでもないので、これは何もしません。しかし、もし Mavenリリースプラグイン は、リリース管理を自動化するために使用されます。プロジェクトのリリースは2つのステップで行われます。 prepareperform . ドキュメントにあるように

リリースの準備は、以下のような流れで行われます。 以下のようなリリースフェーズがあります。

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

そして

リリースを実行することで 以下のようなリリースフェーズがあります。

  • SCMのURLからチェックアウト(オプションタグ付き
  • 定義済みのMavenゴールを実行してプロジェクトをリリースする(デフォルトでは。 デプロイ サイトデプロイ)

こちらもご覧ください