maven 中 Optional和Exclusions的区别

maven 中 Optional和Exclusions的区别

区别

  • Optional:该依赖只能在本模块/项目中中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。
  • Exclusion:主动排除子项目传递过来的依赖。

用法区别:

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


  ...
  
    
    
      sample.ProjectA
      Project-A
      1.0
      compile
      true 
    
  

如上X依赖A,A依赖B用的true,这时B只能在A中使用,而不会主动传递到X中,X需要主动引用B才有B的依赖。

如果A不用true引用B,则会传递到X中,X如果不需要B则需要主动排除A传递过来的B。



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

官方文档 http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

转载于:https://www.cnblogs.com/jakaBlog/p/11547401.html

你可能感兴趣的:(maven 中 Optional和Exclusions的区别)