MavenJarパッケージの競合

プロジェクトシーン:

今日、問題を1つずつ記録します


問題の説明:

WeChatアプレットはWeChatAPIインターフェースを呼び出し、返されるデータは暗号化されているため、バックグラウンドでパズルを解く必要がありますが、

 <dependency>
            <groupId>org.codehaus.xfire</groupId>
            <artifactId>xfire-all</artifactId>
            <version>1.2.4</version>
        </dependency>

前のコードには次の問題があります
ここに画像の説明を挿入


原因分析:

依存関係の移行原理

1.最短経路の第一原理

2つのJarパッケージAとBが導入された場合、どちらも推移的にJarパッケージZに依存します。

A-> X-> Y-> Z(2.5)

B-> X-> Z(2.0)
実際、最終的な有効バージョンはZ(2.0)です。彼の道は短いからです。

2.最初に優先順位の原則を宣言します

パスの長さが同じである場合は、最初に宣言されたものが優先されます。

A-> Z(3.0)

B-> Z(2.5)


解決:

そういえば、誰もがそのやり方を知っていると思います

 <dependency>
            <groupId>org.codehaus.xfire</groupId>
            <artifactId>xfire-all</artifactId>
            <version>1.2.4</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>

                </exclusion>
            </exclusions>
        </dependency>

おすすめ

転載: blog.csdn.net/qq_44688861/article/details/115290690