2013-03-28 21 views
17

1つのプロジェクトでJARファイルをコンパイルして、2番目のプロジェクトで消費するようにしました。私は、.m2フォルダ内のjarファイルを見ることができます。しかし、2番目のプロジェクトでは、アーティファクトが見つからないと不平を言う。 私はindex/cacheを何か更新するように強制する必要がありますが、正確に何がわからないのでしょうか。任意のヒント、ありがとう。mavenにローカルリポジトリを更新させる方法

更新:すべての良い提案に感謝します。 2番目のプロジェクトのMavenプラグイン(IntelliJの)がインデックスを更新しないことが分かります。私はそれをコンパイルしたコマンドラインを使用します。 -Uを使用して

+0

この質問はより詳細に必要です。両方のプロジェクトのあなたのポムの関連する部分を表示し、jarファイルをどのようにコンパイルしたかを説明してください。どうすればそれを.m2ディレクトリに入れることができますか?あなたは 'mvn install'を使いましたか? – sbk

答えて

7

正しいことを確認したときに、必要に応じて特別なインデックス/キャッシュの更新はありません。あなたが適切にあなたのローカルリポジトリ内の最初の成果物をインストールしている

  1. があることを確認します。ファイルを.m2にコピーするだけで、正常に動作しない場合があります。インストールすることを確認してくださいmvn install

  2. 2番目のプロジェクトの依存関係が正しく設定されています。いずれかのタイプミスがgroupId/artifactId/versionか、一致しないアーティファクトtype/classifierにチェックしてください。

38

試し(--update-snapshots別名)あなたはMavenの

を実行し、ローカルリポジトリにインストールする場合は、依存関係の定義が

+0

-Uは、リモートリポジトリからスナップショットを更新する場合にのみ使用します。 OPがJAR自身をコンパイルすることを話していて、スナップショットについて言及していないとすれば、私はこの答えが妥当かどうか疑いがあります。 –

+1

さて、答えの半分は不合理です。他の半分はあなたの半分と同じです:)どちらがもっと可能性が高いケース – EdH

+0

ya! ;)私はもっと明示的にそうしなければなりません:P –

4

これは古い質問ですが、私はこの問題を何度も見つけたことがあり、今までは修正方法を決して考えていませんでした。 更新メインインデックスは、IntelliJによって作成された用語です。最初のプロジェクトをコンパイルした後もまだ動作しない場合は、2つの異なるMavenインストールを使用している可能性があります。 +

押しCTRL +Shiftキーは、[アクション]メニューを開きます。 Mavenと入力し、Mavenの設定にアクセスしてください。あなたは、コマンドラインでこのコマンドを使用することができます

+3

IntelliJにすべての依存関係を強制的にダウンロードさせるには、 'Reimport All Maven Projects'をクリックしてください。 –

3

コマンドラインを介して使用と同じMavenを使用するようにホームディレクトリを確認してください:

mvn dependency:purge-local-repository clean install 
+0

このコマンドは何をしますか? – zygimantus

+1

https://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html – eyupaksu

0

は、サイトへの認証に苦労している場合は、 Mavenは結果をキャッシュしています。メタデータの隠しからサイトに関するメタデータを削除するだけで、Mavenはサイトを再訪します。

gvim <local-git-repository>/commons-codec/resolver-status.properties 
0

設定をクリックして[リポジトリ]を検索し、ローカルリポジトリを選択して[更新]をクリックします。それで全部です。この行動は私の必要を満たしています。

関連する問題