私のmaven Javaプロジェクトをビルドしているときに、「...のPOMがありません。依存関係情報がありません」のような一連の警告に直面しています。
アーティファクトは、当社がホストするNexusサーバーに保存されます。問題をクリーンアップして、最後の2つのリリースのみを維持するために、Nexusで「リポジトリからのリリースの削除」にタスクをスケジュールした後に問題が始まりました。
そのため、以前に削除されたリリースに対して次の警告が表示されます。
[WARNING] The POM for xpto:jar:jar:8.16.1 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.17.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.18.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.19.0 is missing, no dependency information available
多くのコンポーネントプロジェクトがあり、リリースが定数である場合、これらのコンポーネントを使用するいくつかのプロジェクトをコンパイルすると、そのような多くの警告が表示されます。
これらの警告を回避する方法を提案したり、依存関係を再解決したり、インデックスを再作成したりできるクライアント側でいくつかの目標を実行したりしますか?
よろしく、
上記の記事で説明しているように、ビジネスによっては、古いリリースを独自のリポジトリに保存する必要がない場合があります。私はこのシナリオに含まれています。
たとえば、私のコンポーネントプロジェクトからの最後の2つのリリースのみを維持するには、maven [WARNING]メッセージを回避するために、いくつかの手順に従う必要があります。
リポジトリにタスクを追加して、nリリースのみを維持する必要があります。これは次の方法で実行できます。
この質問の「穴の中の問題」は、Mavenメタデータファイル(maven-metadata.xml)を再構築することです。いったんそれらが古いリリース情報を維持するようになると、再構築されるまでです。これは次の方法で実行できます。
ここで、ローカルリポジトリはメタデータファイルが更新されたことを認識する必要があります。これは次のパラメーターで実行できます。
mvn -U:
-U、-update-snapshotsリモートで更新されたリリースとスナップショットのチェックを強制します
例えば:
mvn -Uクリーンパッケージ
settings.xml
を確認します。つまり、bashでそのようにエクスポートします。
export MVN_SETTINGS=~/.m2/settings.xml
この警告は通常、インターネットから依存関係をダウンロードできない場合に表示されます。