2012-05-10 8 views
102

Mavenを使い始めたばかりなので、特定のディレクトリにmvn installと書いてありました。mavenがmavenに正確に何をインストールするのですか

正確にはmvn installは何ですか?

私はそれが現在のフォルダのpom.xmlを探して、そのファイルに指定された指示に従い始めると思います。あれは正しいですか?

+1

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html –

答えて

68

をApacheによって提供されるツールで、依存関係管理はより多くなります。私たちは、必要なすべての依存関係を取り除くAntとMakefileのピアとして作ることができます。

mvn install

、それはスーパーpom.xml下のすべてのサブプロジェクトのプロジェクト構成pom.xml(ルートPOM)に基づいて、依存関係ツリーをフレームとダウンロード/ユーザーのフォルダの下に.m2というディレクトリ内のすべての必要なコンポーネントをコンパイルします。これらの依存関係は、エラーなしにプロジェクトを構築するために解決する必要があり、mvn installは、ほとんどの依存関係を無効にする可能性のあるユーティリティの1つです。

また、dependency:resolveのような他のユーティリティも特定の場合に別々に使用することができます。 MVNのビルドのライフサイクルは以下の通りです:

  1. process-resources
  2. compile
  3. process-test-resources
  4. test-compile
  5. test
  6. package
  7. install
  8. deploy

このmvnのテストフェーズは、フラグ-DskipTests=trueを使用することで無視できます。

+2

テスト関連のすべての目標をスキップする場合は、-Dmaven.test.skip = trueを使用します(-DskipTests = trueではなく)。 –

26

Mavenのドキュメントのうち、maven install plugin docsなどを見ましたか?

ナットシェルバージョン:プロジェクトをビルドし、ローカルリポジトリにインストールします。

+0

「mvn install」をオープンソースライブラリで実行するとします。次に、最初にコンパイルしたオープンソースライブラリを使用するプロジェクトで "mvn install"を実行します。 "mvn install"を実行すると、まずJARがローカルリポジトリで参照されますか?それともPOMファイルに依存していますか? –

+1

@Kevinそれは一種のポイントなので、まずローカルに行ってください。ローカルリポジトリにない場合は、設定したリポジトリ(またはデフォルト)を探してローカルのリポジトリにインストールします(見つかった場合)。私はあなたがそれを見ていない方法を知らないけれども、あなたは常にローカルのレポをスキップするようにそれを構成することができると思う。 –

+12

* Maven用の正規のドキュメントを見ましたか? Apacheのサイトでは、mvnのインストールの目的について説明しています。「ほとんどの場合、install:install goalには設定は必要ありません。デフォルトのビルドライフサイクルのインストール段階でインストールするプロジェクトのPOMとアーティファクトファイルが必要です。これは、Apacheのドキュメントが、実際に「mvn install」がポスターや自分自身のような人々が答えを探していることを説明できないからです。完璧に合理的な質問。 – bethesdaboys

1

-DskipTests=true-Dmaven.test.skip=true

の短い形式は、あなたの.m2フォルダ内のSetting.xmlに変更を加えることです。ローカルリポジトリへのリンクを使用すると、一度ダウンロードしたjarファイルを何度もダウンロードする必要はありません。

<url>file://C:/Users/admin/.m2/repository</url> 
</repository> 
1

install:install目標は«のApache Mavenのは、プラグインのインストール»によって提供されています。プラグインは、にアーティファクト(複数可)を追加するために、インストールフェーズ中に使用されるインストール

のApache Mavenのインストールプラグイン

をローカルリポジトリインストールプラグインは、POM(groupIdartifactIdversion)の情報を使用して、ローカルリポジトリ内のアーティファクトの適切な場所を判断します。

ローカルリポジトリは、ビルドに必要なすべての成果物が格納されるローカルキャッシュです。デフォルトでは、ユーザーのホームディレクトリ(~/.m2/repository)内にありますが、<localRepository>要素を使用して、場所を~/.m2/settings.xmlに設定できます。

-Apache Maven Install Plugin - Introduction

install:installが自動的にプロジェクトの主な成果物(JAR、WARまたはEAR)、そのPOMと接続されているすべての成果物(ソース、Javadocをインストールするために使用されます。正確な目標目的、と述べた

、等)を作成します。

-Apache Maven Install Plugin - Introduction

詳細については、Apache Maven Install Plugin - install:installページを参照してください。

一般的なビルドライフサイクルとその目標がビルドライフサイクルでどのような場所にあるかについては、Maven – Introduction to the Build Lifecycleページを参照してください。

関連する問題