0

プロジェクトで、ダウンロードした jar の pom ファイルが正しくないという問題があります。1.0 タグは含まれていません。そのため、そのライブラリの「修正された」pom ファイルをインストールし、サードパーティのライブラリを nexus に追加しました。

現在直面している問題は、サードパーティ ライブラリとして追加したバージョンを使用できないことです。同様のケースで、maven セントラル nexus リポジトリからファイルを削除すると、サードパーティのライブラリが取得され、maven セントラルから再度取得しようとしませんでした。

ここで、破損した jar に対して同じことを行いましたが、openSAML nexus リポジトリで jar を削除すると、サード パーティのライブラリを使用する代わりに、openSAML nexus リポジトリから再取得され、私たちのものは取得されません。

なぜそれを再フェッチし、サードパーティのライブラリを使用しないのか、誰にもわかりますか?

4

1 に答える 1

0

これを試して。ローカル リポジトリから jar を削除します。Maven 設定に移動し、openSAML リポジトリのエントリを一時的に削除します。プロジェクトをビルドすると、サード パーティの nexus リポジトリから jar がダウンロードされます [サード パーティのリポジトリにすべての依存関係がない場合、プロジェクトのビルドに失敗する可能性があることに注意してください。新しい jar がダウンロードされたら、openSAML エントリを Maven 設定に戻します。

編集:

上記のオプションが実行できない場合は、最初にサードパーティのリポジトリをチェックしてから他のリポジトリをチェックするように、リポジトリの順序を設定できます。これは、jar がサードパーティで利用できない場合にのみ、他のリポジトリに移動することを意味します。現在、maven がリポジトリをチェックする順序は、settings.xml に記述されている順序です。この投稿を確認してください: Maven settings.xml でリポジトリの順序を設定する方法 このソリューションは、チーム全体でこの settings.xml を共有するだけで完了できるため、スケーラブルです。

于 2013-10-10T14:45:13.427 に答える