回答:
ご存知かもしれませんが、Mavenは、Apacheが提供するビルド自動化ツールであり、依存関係の管理以上のことを行います。必要なすべての依存関係をダウンロードするAntとMakefileのピアとして作成できます。
でmvn install
、それはプロジェクトの構成に基づいて依存ツリーフレームpom.xml
のすべてのサブスーパー中のプロジェクトにpom.xml
(ルートPOM)およびダウンロード/というディレクトリに必要なすべてのコンポーネントをコンパイルし.m2
、ユーザーのフォルダの下に。プロジェクトをエラーなしでビルドするには、これらの依存関係を解決する必要がmvn install
あり、依存関係のほとんどをダウンロードできるユーティリティの1つです。
さらに、Mavenにdependency:resolve
は、特定のケースで個別に使用できるユーティリティが他にもあります。MVNのビルドのライフサイクルは、以下の通りである:ライフサイクルバインディング
process-resources
compile
process-test-resources
test-compile
test
package
install
deploy
このmvnのテストフェーズは、フラグを使用して無視できます-DskipTests=true
。
Mavenのドキュメント、たとえばMavenのインストールプラグインのドキュメントを確認しましたか?
Nutshellバージョン:プロジェクトをビルドし、ローカルリポジトリにインストールします。
「インストール」フェーズまでのデフォルトのライフサイクルの任意のフェーズに関連付けられているすべての構成済みプラグインのすべての目標を実行します。
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
install:install
目標は、«のApache Mavenのプラグインをインストールしてください»で提供されています。
Apache Mavenインストールプラグイン
インストールプラグインは、インストールフェーズ中に、アーティファクトをローカルリポジトリに追加するために使用されます。インストールプラグインPOM(内の情報を使用して
groupId
、artifactId
、version
ローカルリポジトリ内のアーチファクトのための適切な位置を決定します)。ローカルリポジトリは、ビルドに必要なすべてのアーティファクトが格納されるローカルキャッシュです。デフォルトでは、ユーザーのホームディレクトリ(
~/.m2/repository
)内にありますが~/.m2/settings.xml
、<localRepository>
要素を使用して場所を設定できます。
そうは言っても、正確な目標は次のとおりです。
install:install
は、プロジェクトのメインアーティファクト(JAR、WAR、またはEAR)、そのPOM、および特定のプロジェクトによって生成された添付アーティファクト(ソース、javadocなど)を自動的にインストールするために使用されます。
目標の詳細については、Apache Mavenインストールプラグイン-install:installページを参照してください。
一般的なビルドライフサイクルの詳細と、ビルドライフサイクルの目標の場所については、Maven –ビルドライフサイクルの概要ページを参照してください。
短い答え
mvn install
- pomで指定されたすべてのアーティファクト(依存関係)を(リモートソースから)ローカル リポジトリに追加します。
-DskipTests=true
の短い形式です -Dmaven.test.skip=true
変化行いますSetting.xmlあなたの中に.m2フォルダを。ダウンロードされたjarが何度もダウンロードされないように、ローカルリポジトリへのリンクを使用できます。
<url>file://C:/Users/admin/.m2/repository</url>
</repository>
mvn installの主なジョブは、1)依存関係をダウンロードし、2)プロジェクトをビルドすることです。
現在、ジョブ1はintellij(POMでの依存関係のダウンロード)などのIDによって管理されています。
mvn installは現在、主にジョブ2で使用されています。