排除 Maven 依赖项 [英] Excluding Maven dependencies

查看:65
本文介绍了排除 Maven 依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个关于排除 maven 依赖项的查询.考虑以下

I have a query about exclusion of maven dependencies . Consider the following

   <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 中排除了 spring-security-web ,对 spring-security-web 3.1.0 有一个单独的依赖项,它反过来排除了 spring-web 3.0.6 版本,我提供了一个单独的 spring-web 3.1.0 版本.这项工作,但我觉得会有一个更简单的方法.我尝试在 Spring 安全性下排除 spring web,但它没有用.请帮忙.

I am trying to achieve a transition from Spring 3.0.6 to 3.1.0 . Spring security 3.1.0 had a dependency on spring-security-web version 3.0.6 which in turn had a dependency on spring-web 3.0.6 . I need to bring it all to 3.1.0 . So I exclude spring-security-web from Spring security , have a separate dependency for spring-security-web 3.1.0 which in turn excludes the spring-web 3.0.6 version and I provide a separate spring-web 3.1.0 version . This work but I feel there would be a much easier approach . I tried putting an exclusion for spring web under Spring security but it didn't work . Please help .

推荐答案

您可以利用 依赖管理机制.

如果您在 pom 的 <dependencyManagement> 部分为 spring-security-webspring-web 创建条目所需的 3.1.0 版本集,工件的托管版本将覆盖传递依赖树中指定的那些.

If you create entries in the <dependencyManagement> section of your pom for spring-security-web and spring-web with the desired 3.1.0 version set the managed version of the artifact will override those specified in the transitive dependency tree.

我不确定这是否真的为您节省了任何代码,但 IMO 是一个更简洁的解决方案.

I'm not sure if that really saves you any code, but it is a cleaner solution IMO.

这篇关于排除 Maven 依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆