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

查看:104
本文介绍了排除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 .

推荐答案

您可以使用依赖性管理机制.

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

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天全站免登陆