2016-09-24 18 views
0

ローカルプロジェクトに依存関係/ライブラリをインストールするにはどうしたらいいですか?Mavenのローカルプロジェクトに依存関係をインストールするにはどうすればいいですか?

今、私はすべての私の依存関係がにインストールされますことがわかりますので:

NPMでC:\Users\yomac_000\.m2\repository

(Mavenのような依存/ライブラリのインストーラが、その後のNode.js用)私はインストールするには、次のコマンドを実行することができます私のプロジェクトへのライブラリ:

npm install <library_name>

そして私が行った場合:

npm install -g <library_name>

次に、ライブラリをC:\ somepathにインストールします。

答えて

1

.m2/repositoryフォルダはローカルリポジトリと呼ばれます。すべての依存関係がこのフォルダにダウンロードされるため、プロジェクトで共有することができます。依存関係をプロジェクトに「インストール」する場合は、pom.xmlを作成し、適切なパッケージタイプ(たとえば、Webアプリケーションのwar)とスコープを設定します。そうすれば、依存関係はWEB-INF/libフォルダにアクセスできます。

ローカルリポジトリのパスを変更する必要がある場合は、maven設定を編集して変更できます。 Mavenの設定については、this pageを参照してください。


pom.xmlファイルに関する一般的な情報についてはhttps://maven.apache.org/pom.htmlを参照してください。

mavenが使用する依存性メカニズムの詳細については、https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.htmlを参照してください。利用可能なスコープについてもここで説明します。

+0

ローカルリポジトリのパスを '/path/to/local/repo/ 'で変更すると、それで、 'project A'と' project B'は、まだ変更されたパスにライブラリをインストールしています。 – superkytoz

+0

この種のオプションがあるかどうかはわかりません。 Mavenはこのように動作しません。プロジェクトによって依存関係が共有されます。そして、プロジェクトをビルドするときに、依存関係をプロジェクトと共にパックします。 I.ローカルリポジトリの場所を気にする必要はありません.pomに依存関係を定義するだけで、残りの部分についてはmavenが注意します。答えに記載されているリンクを参照してください。 –

+0

はい、私は知っていますが、 'project A'が' testLibrary 1.0'というライブラリを使い、 'project B'が' testLibrary 2.0'というライブラリを使うとどうなりますか? Mavenは 'testLibrary 1.0'を削除し、' testLibrary 2.0'でそれを更新すると仮定します。つまり、私は 'project A'をもう実行できません。 – superkytoz

関連する問題