MavenOptional&Exclusions采取区别版权声明

原创
小哥 3年前 (2022-11-11) 阅读数 6 #大杂烩

Optional和Exclusions用于排除jar包依赖于使用,但两者的使用方式相反。

Optional定义后,依赖项只能在此项目中传递,而不能传递给引用该项目的父项目。父项目需要主动参考依赖项。

Exclusions它是从子项目传递的依赖项的主动排除。

用法区别

Project-X -> Project-A
Project-A -> Project-B


  ...
  
    
      sample.ProjectB
      Project-B
      1.0
      compile
      true
    
  

如上X依赖A,A依赖B用的 <optional>true</optional> ,这时B只能在A用于,不主动通过X中,X需要主动参考B才有B的依赖。

如果A不用 <optional>true</optional> 引用B,传递给X中,X如果不需要B你需要主动排除A已通过B。


    
      sample.ProjectA
      Project-A
      1.0
      compile
      
        
          sample.ProjectB
          Project-B
        
       
    

所以,Optional和Exclusions它们都用于控制依赖关系的传递,可以根据实际场景灵活应用。

有关更具体的定义,请参阅官方文件:

http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
额外:只要你来自本站并关注下面的微信公众号,请在公众号中回复MM,可以免费发送 干货:2TB建筑师四阶段视频教程 里面的信息。

作者:Java技术栈
链接:https://www.jianshu.com/p/6eee9191f2ab
资料来源:简报
这本简略书的版权归作者所有。请联系作者以获得授权,并注明任何形式的转载来源。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除