2012-05-07 7 views
4

pom.xmlファイルの<repositories />セクションをプロジェクト用に編集しました。私は不要と思われるいくつかのレポを削除しました。Maven - 宣言されたリポジトリで依存関係を検証する方法を教えてください。

私は、宣言された依存関係が利用可能なリポジトリで解決可能であることを検証したいと考えています。

しかし、宣言された依存関係はすべて自分のローカルリポジトリで使用できるため、作成しようとする試みはすべてローカルのものを使用します。

すべての依存関係を一からダウンロードするには数時間かかるので、私はローカルリポジトリを単純に破棄したくありません。

同様に、私はすべての依存関係をダウンロードしようとしているのではなく、すべてが解決可能であることを確実にしたいと思っています(推移的な依存関係を含む)。

どうすればよいですか?

答えて

1

ローカルのrepo(rm -rf〜/ .m2/repository)を空にしてビルドします。

これは時間がかかるという問題を解決することはできません。特定のアーティファクトが特定の外部レポにダウンロードされていないかどうかを知る方法はありません。あなたがXを持っていますか?いくつかのレポで風土病である壊れた人工産物から誤った陽性を得るでしょう。

+0

おかげで、私は特に、私は地元のレポを空にしたくない私の質問に記載された - それはアーティファクトを再ダウンロードするには数時間かかることがあります。しかも、これはポームを検証するための非常に強烈な力のようです。 –

+1

レポマネージャを使用するよりも時間がかかる場合。 – khmarbaise

+0

もしあなたが持っていなければ、それを動かしてテストし、それを戻すことができます – Miquel

2

私が言うことができる最初のものはnot to define repositories in a pomです。原因は、このプロジェクトを使用している他の人たちに特に問題を引き起こすからです。さらに、問題を解決し、ダウンロード時のパフォーマンスを向上させるリポジトリマネージャを使用することをお勧めします。このような状況のチェックを単純化します。つまり、ローカルリポジトリを削除してビルドを試みるだけです。

0

あなた自身のプラグインをノックするなら、プラグインでチェックサムだけを解決させることが気になることでしょう。これらのチェックサムは、それぞれのjar/war/zip /任意の成果物が既にデプロイされた後で、リモート・リポジトリーにのみデプロイされます。

すべてのアーティファクトをダウンロードするには数時間かかる場合は、Karl-HeinzのようにNexusやArtifactoryなどのリポジトリマネージャが必要です。それはあなたのリモートアーティファクトのキャッシュされたバージョンを保持し、それからのダウンロードは、時間の並べ替えの問題です。

0

mvn validate -Uを試したと仮定しますか?私は素晴らしい熟練者ではありませんが、それは私が試してみたいことです。 (私はかなり定期的に地元のサードパーティ以外のレポートを爆発させて、ビルドが他の人にとってはうまくいくことを確かめている)。

関連する問題