maven相关

  • maven的仓库依赖

maven相关_第1张图片
首先调用本地仓库,然后调用公司私服仓库,最后调用中央仓库。
配置本地仓库

jar的坐标定位

maven相关_第2张图片
这个标签揭示了jar的查找坐标:groupId、artifactId、version

maven依赖冲突

依赖传递:如果A依赖B,B依赖C,那么引入A,意味着B和C都会被引入。

Maven的最近依赖策略:如果一个项目依赖相同的groupId、artifactId的多个版本,那么在依赖树(mvn dependency:tree)中离项目最近的那个版本将会被使用。(从这里可以看出Maven是不是有点小问题呢?能不能选择高版本的进行依赖么?据了解,Gradle就是version+策略)

A引入B,B引入C。D引入另一个版本的C。那么就近原则,maven引入D相关的版本C。

依赖冲突处理

方法1:显式加入对project-common 2.0版本的依赖。先前的2.0版本不是离resolve-web远了点吗,那我们就直接将它作为resolve-web的依赖,这不就比1.0版本离resolve-web还近吗?在resove-web的pom.xml文件中直接加上对project-common 2.0 的依赖:

`
   project-common      
   project-commmon  
   2.0
   

方法2:使用 exclusion 标签接触依赖。

  
          project-A  
          project-A  
          1.0  
            
                
                  project-common  
                  project-commmon  
                
            

你可能感兴趣的:(maven相关)