[JAVA]

2016-07-15 3 views
0

ショート質問Mavenの中に別のローカルレポにインストールしますか?[JAVA]

ロング質問:

私はmvn clean installを使用して私のプロジェクトをコンパイルしたいです。 プロジェクトはいくつかの外部依存関係を使用しているので、mavenはそれらの依存関係を私のローカルリポジトリにダウンロードします。

これはいいですが、自分のプロジェクトのコンパイル済みjarファイルもそこに保存されていて、他のものと混ざっているのは嫌です。

1つのローカルリポジトリ(たとえばC:\ Repo)にすべての外部依存関係を保持し、コンパイル後にすべてのプロジェクトJARが別のローカルリポジトリ(たとえばD:\ Repo)にあることを確認します。

+0

私はあなたができるとは思わない、Mavenの1つのインスタンスは1つのローカルリポジトリディレクトリを使用するだろう。 – Gimby

+1

http://stackoverflow.com/questions/35451973/separate-local-download-and-install-repositories-using-maven – kuhajeyan

+0

インストールプラグインは、使用されたリポジトリを無効にする '-DlocalRepositoryPath'を受け入れます。私はこれがあなたが来るほど近いと思っていますが、それはあなたをずっと助けてくれないようです。 – Magnilex

答えて

1

<localrepository>をダブルにすると、単一のMavenプロジェクトでは不可能です。

  1. 設定を使用している場合、あなたは2個の<localrepository>タグを追加することはできません、新しい<localrepository>タグを追加します。
  2. IDEでmavenを設定した場合、つまり、Eclipseでは、単一のローカルリポジトリの場所を紹介するテキストボックスが1つしかありません。

設定詳細

単純な値

トップレベルの設定要素の半分が記述する値の範囲を示す、単純な値であるDOCUMENTATIONからビルドシステムの要素はフルタイムでアクティブです。
[...]

localRepository:この値は、このビルドシステムのローカルリポジトリのパスです。デフォルト値は${user.home}/.m2/repositoryです。 [...]

ので、localRepositoryはその後、最後に、あなたはMavenを設定する方法をsettings.xmlファイルの意志を重要ではありませんsettings.xmlのDTDにおける詳細な簡単な値、(誰かを見つけることができますか?)、あります何とか作成されるは2 localrepositoryタグを許可しません。

+0

私は脳を持っていた...シンボリックリンク(現代のWindowsパーティションでもサポートしています)でハックすることができるのだろうかと思います。 – Gimby

+0

@GimbyあなたはDTDが何であるか知っていますか? xmlのハックはありません。ただ1つの場所しか許可されません。AFAIK –

+0

ありがとうございました。どのようなハッキーなやり方? 2回のパスをするように?プロジェクトファイルを自分のローカルリポジトリにインストールするのを止める方法がある場合は、まずプロジェクトファイルを保存せずに普通にコンパイルすることができます。 2回目のパスでは、ローカルのrepoをfile://を使用してリモートのrepoに設定し、ローカルのrepoを別のフォルダに変更して、今回はプロジェクトファイルをmavenにインストールできます。 – user1589188