1. ホーム
  2. maven

[解決済み] Mavenの依存関係を除外する

2022-01-29 13:25:57

質問

maven の依存関係の除外について質問があります。次のように考えてください。

   <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
        <version>${spring-security.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>3.1.0.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>
    <dependency>

私は、Spring 3.0.6 から 3.1.0 への移行を実現しようとしています。Spring security 3.1.0 は spring-security-web バージョン 3.0.6 に依存しており、さらに spring-web 3.0.6 にも依存していました。私はそれをすべて3.1.0にする必要があります。だから私は春のセキュリティからspring-security-webを除外し、順番にspring-web 3.0.6バージョンを除外し、私は別の春-web 3.1.0バージョンを提供し、春-security-webのための別の依存関係を持っている 。この作品は、しかし、私ははるかに簡単なアプローチがあるだろう感じています。私は春のセキュリティの下に春のWebの除外を置くことを試みたが、それは動作しませんでした。助けてください。

解決方法は?

を利用することができます。 依存関係管理機構 .

にエントリーを作成すると <dependencyManagement> セクションで spring-security-webspring-web を、希望する 3.1.0 バージョンで設定されたアーティファクトの管理バージョンは、推移的依存関係ツリーで指定されたものをオーバーライドします。

本当にコードを節約できるかどうかは分かりませんが、よりクリーンなソリューションであると思います。