正確にとの違いは何ですかmvn clean package
とはmvn clean install
?これらのコマンドを両方実行すると、どちらも同じように動作するようです。
正確にとの違いは何ですかmvn clean package
とはmvn clean install
?これらのコマンドを両方実行すると、どちらも同じように動作するようです。
回答:
まあ、どちらもきれいになります。つまり、ターゲットフォルダーが削除されます。本当の質問は、パッケージとインストールの違いは何ですか?
package
コードをコンパイルしてパッケージ化します。たとえば、プロジェクトがjarであるとpomが言った場合、それをパッケージ化してターゲットディレクトリのどこかに置くと(デフォルトでは)、jarが作成されます。
install
コンパイルしてパッケージ化しますが、パッケージをローカルリポジトリに配置します。これにより、他のプロジェクトがそれを参照してローカルリポジトリから取得できるようになります。
mvn clean install
よりも速くありませんmvn package
。
cleanが行うこと(両方のコマンドに共通)-以前のビルドで生成されたすべてのファイルを削除します
コマンドパッケージとインストールの違いについては、まずMavenプロジェクトのライフサイクルを理解する必要があります
これらはMavenのデフォルトのライフサイクルフェーズです
Mavenの仕組みは、いずれかのライフサイクルフェーズでコマンドを実行すると、コマンド自体を実行する前に、デフォルトの各ライフサイクルフェーズを順番に実行します。
実行の順序
検証>>コンパイル>>テスト(オプション)>>パッケージ>>検証>>インストール>>デプロイ
したがって、コマンドmvn packageを実行すると、packageまでのすべてのライフサイクルフェーズのコマンドが実行されます
検証>>コンパイル>>テスト(オプション)>>パッケージ
そして、mvn installと同様に、パッケージも含むinstallまでのすべてのライフサイクルフェーズのコマンドを実行します
検証>>コンパイル>>テスト(オプション)>>パッケージ>>検証>>インストール
つまり、効果的には、installコマンドは、packageコマンドが実行するすべてのことを実行します(パッケージをローカルリポジトリにインストールし、ローカルで他のプロジェクトの依存関係として使用します)。
パッケージは、POMファイルごとにJar / warを生成します。 installは、生成されたjarファイルを、他の依存関係がある場合はローカルリポジトリにインストールします。
インストール段階がパッケージ段階の後に来る
パッケージとインストールは、Mavenビルドライフサイクルのさまざまなフェーズです。パッケージフェーズは、その前にすべてのフェーズを実行し、プロジェクトをjarとしてパッケージ化することで停止します。同様に、インストールフェーズでは、以前のすべてのフェーズが実行され、最後にプロジェクトがローカルにインストールされ、他の依存プロジェクトに使用されます。
Mavenビルドのライフサイクルを理解するには、次のリンクにアクセスしてくださいhttps://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
package
パッケージ追加されますjar
かwar
、あなたに target
私たちがターゲットフォルダ(使用を空にしたとき、フォルダ、我々はそれを確認することができます mvn clean
)してから実行しますmvn package
。
install
すべての事でしょうpackage
、さらにそれがパッケージに追加されますないjar
かwar
だけでなく、ローカルリポジトリ内に。.m2
フォルダで確認できます。
package
とinstall
。