我是靠谱客的博主 魔幻金毛,这篇文章主要介绍Maven排除依赖exclusion用法,现在分享给大家,希望可以做个参考。

Maven排除依赖exclusion用法
假设有如下依赖:
A->B->C(1.0)
项目B依赖了项目C的1.0版本,由于项目C比较活跃,此时已经升级了好几个版本,比如已经升级到了4.0版本。由于依赖的传递性,根据此依赖链:A->B->C(1.0),A项目默认会加载C的1.0版本,如何使用C的4.0版本呢?我们在对B的依赖声明中将C排除,然后显示的声明依赖C的4.0版本。
pom配置如下:

<dependencies>
    <dependency>
        <groupId>org.example</groupId>
        <artifactId>project-b</artifactId>
        <version>1.0.0</version>
        <exclusions>
            <exclusion>
                <groupId>com.domain</groupId>
                <artifactId>project-c</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.domain</groupId>
        <artifactId>project-c</artifactId>
        <version>4.0.0</version>
    </dependency>
</dependencies>

有的人可能发现了,其实没必要用什么exclusion,直接声明对project-c的依赖,根据最短路径原则,就会直接依赖project-c的4.0.0版本,确实存在这么个问题,但是使用了exclusion标签,其语义上会更明确。
如果上面的例子不足以说服你,那么下面这种情况,就真的需要使用exclusion标签了。
假如C项目是一个很强大的项目,拥有众多功能,但是我只需要用它的一部分,就可以满足项目需要了,如果C的强大功能是因为加载了众多依赖实现的,那么我们可以对C的依赖进行排除,只保留我们需要的部分即可。

最后

以上就是魔幻金毛最近收集整理的关于Maven排除依赖exclusion用法的全部内容,更多相关Maven排除依赖exclusion用法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部