推移的な依存関係 (存在する場合) は利用できません。詳細については、デバッグ ログを有効にしてください。

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 つずつ手動でコンパイルして公開できます。

おすすめ

転載: blog.csdn.net/mashangzhifu/article/details/123626968