maven dependence 的optional 和 exclusions 标签详解

maven dependence 的optional 和 exclusions 标签详解1.简介Optional:可选依赖(OptionalDependencies) Exclusions:依赖排除(DependencyExclusions)2.Optional举个例子,现在我有两个项目,ProjectA和ProjectB,ProjectA依赖于ProjectB,但是却是用到了ProjectB的很少一部分功能,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、oracle等各种数据库的支持,但是在引用这个项目时,我们可能只用

1.简介

  • Optional:可选依赖(Optional Dependencies)
  • Exclusions:依赖排除(Dependency Exclusions)

2.Optional

举个例子,现在我有两个项目,ProjectA 和 ProjectB,ProjectA依赖于ProjectB,但是却是用到了ProjectB的很少一部分功能,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、oracle等各种数据库的支持,但是在引用这个项目时,我们可能只用到其对mysql的支持,此时就可以在这个项目中配置可选依赖。

配置可选依赖的原因:

  • 节约磁盘、内存等空间;
  • 避免license许可问题;
  • 避免类路径问题,等等。

伪代码如下:

        <dependency>
            <groupId>ProjectB</groupId>
            <artifactId>Project</artifactId>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>

3.Exclusions

现在我有三个项目,ProjectA 、ProjectC 和 ProjectB,ProjectA 依赖于 ProjectB ,ProjectB 依赖于 ProjectC ,但是ProjectA 不想依赖ProjectC,那么我们就可以在 ProjectA中 使用exclusion来排除ProjectA对ProjectC的依赖:

        <dependency>
            <groupId>ProjectB</groupId>
            <artifactId>Project</artifactId>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>ProjectC</groupId>
                    <artifactId>Project</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 

今天的文章maven dependence 的optional 和 exclusions 标签详解分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11169.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注