maven配置相关dependencies与dependencyManagement

1、dependencies与dependencyManagement的区别

dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
base-parent(pom.xml)

    pom
    com.java.test
    base-parent
    1.0.0-SNAPSHOT
    desc
  
        
            com.alibaba
            fastjson
            1.2.34
                 
  

子项目pom ,怎子项目会继承所有父项目依赖

    
        com.java.test
        base-parent
        1.0.4-SNAPSHOT
    

dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

父pom

       
          
              
                com.alibaba
                fastjson
                1.2.34
                provided  
             
          
    

子项目

    
        com.java.test
        base-parent
        1.0.4-SNAPSHOT
    

    
            com.alibaba  
            fastjson  
     

你可能感兴趣的:(maven配置相关dependencies与dependencyManagement)