1. 問題の説明
私は、jar をリモート ウェアハウスにアップロードし、ローカル ウェアハウス内の関連するすべての jar を削除し、依存関係を導入したプロジェクトを更新し、それが利用可能かどうかを確認するためにリモート ウェアハウスからダウンロードするように依頼しました。次のエラーが報告されます。
[WARNING] The POM for com.xxx:xxx-xxx:jar:1.0.6 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for com.xxx:xxx-xxx:jar:1.0.6 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for com.xxx:xxx-xxx:jar:1.0.6 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for com.xxx:xxx-xxx:jar:1.0.6 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
これらの jar パッケージには問題があります。上記のエラーは、基本的に次の 2 つの問題によって発生します:
1. ネットワークの問題 (jar がダウンロードされない原因)
2. 依存関係の転送の問題 (親 pom が原因である可能性があります) 。
2、解決策
最初の問題は簡単に解決できます。ローカルの倉庫にある jar を削除して、再度ダウンロードしてもらいます。
2 番目のケースでは、まず次のコマンドを使用して依存関係ツリーを出力します。
mvn -X dependency:tree>tree.txt
問題のある jar を見つけます。問題のある jar はすべて特定のプロジェクトにあります。モジュール構造は次のとおりです。
root
<modules>
<module>a</module>
<module>b</module>
<module>c</module>
</modules>
中央ウェアハウスに公開したとき、ルート プロジェクトは公開せず、ルートの下のサブモジュールのみを公開したため、ルート プロジェクトの下にローカルに再インストールしてパッケージ化して渡すか、次のコマンドを使用して親モジュールのみをインストールします。依存関係。サブモジュールは処理しません。
mvn install -N
ただし、中央ウェアハウスに公開しました。ローカルにインストールしてはなりませんが、ルート プロジェクトも公開できません。ルート配下の一部のモジュールが内部モジュールであるため、ルート プロジェクトの pom.xml を削除することしかできません。大きな問題です。彼にはプロジェクト全体を管理する権限がありません。ルート モジュールの下の pom.xml は、パッケージ化の便宜のためだけです。1 回の実行だけで、プロジェクトの下のすべてのモジュールをパッケージ化し、それらを 1 つずつ手動でコンパイルして公開できます。