私はただ単にMavenを学んでいますが、最近、どんどん行く必要があります。の違いを知りたい
mvn clean install
mvn release
mvn deploy
できるだけ説明的にしてください。
clean
、install
およびdeploy
フェーズは有効です ライフサイクルフェーズ および呼び出しそれらはそれらに先行するすべてのフェーズ、およびこれらのフェーズにバインドされた目標をトリガーします。
mvnクリーンインストール
このコマンドは、clean
フェーズを呼び出し、次にinstall
フェーズを順番に呼び出します。
clean
:プロジェクトのディレクトリでビルド時に生成されたファイルを削除します(デフォルトではtarget
)install
:パッケージをlocalリポジトリにインストールし、他のプロジェクトの依存関係としてローカルで使用します。mvn deploy
このコマンドは、deploy
フェーズを呼び出します。
deploy
:最終パッケージをremoteリポジトリにコピーして、他の開発者やプロジェクトと共有する。mvnリリース
これは有効なフェーズでも目標でもないため、何もしません。しかし、 Mavenリリースプラグイン を参照する場合、リリース管理の自動化に使用されます。プロジェクトのリリースは、prepare
とperform
の2つのステップで行われます。文書化されているとおり:
リリースの準備は、次のリリースフェーズを通過します。
- ソースにコミットされていない変更がないことを確認します
- SNAPSHOT依存関係がないことを確認します
- POMのバージョンをx-SNAPSHOTから新しいバージョンに変更します(使用するバージョンの入力を求められます)
- POMのSCM情報を変換して、タグの最終宛先を含めます
- 変更されたPOMに対してプロジェクトテストを実行して、すべてが正常に機能していることを確認します
- 変更されたPOMをコミットする
- SCMのコードにバージョン名をタグ付けします(これはプロンプトが表示されます)
- POMのバージョンを新しい値y-SNAPSHOTにバンプします(これらの値も要求されます)
- 変更されたPOMをコミットする
その後:
リリースを実行すると、次のリリースフェーズが実行されます。
- オプションのタグを使用したSCM URLからのチェックアウト
- 事前定義されたMavenゴールを実行してプロジェクトをリリースします(デフォルトでは、サイト展開を展開します)
mvn install
は、プロジェクトを依存関係として使用するローカルアプリケーション用に、パッケージ化されたMavenプロジェクトをlocalリポジトリに配置します。mvn release
は、基本的に現在のコードをSCMのタグに入れ、プロジェクトのバージョンを変更します。mvn deploy
は、パッケージ化されたMavenプロジェクトをremoteリポジトリに配置して、他の開発者と共有します。リソース: