maven子pom没有继承到父pom依赖版本小问题记录

  • Java项目很多都会有子module,一般父项目没有逻辑代码,在父项目pom.xml中注明依赖、version和其他一些公用的东西,子module的pom继承父pom,子pom就不用写依赖的版本了,但至少也要写用到依赖的groupId、artifactId,这样默认会使用父项目依赖的版本。子pom也可以写版本,这样就不受父pom影响了,和继承类似,但还是有些区别。
  • 使用时需要注意,我就是忘了其中一项,没有生效:
    • 父pom需要添加pom
    • 父pom需要用子module名注明子module有哪些
    • 父pom声明依赖时外要嵌套才能被子pom继承到,我就是忘了这点
    • 子pom需要通过指定父项目,声明依赖时就默认会用父pom中的版本了
  • dependencyManagement:像上面提到的,一般在父项目中会声明这个元素,和普通依赖用法类似,这个元素并不会真的引入依赖,只会标明依赖和版本,子项目会从父项目找从而确定需要引用依赖版本,类似于模板模式。
  • 父pom例子:
  
  pom

    
        
        module1
        module2
    

    
        
            
            
                org.projectlombok
                lombok
                1.18.8
            
        
    
  • 子pom module1例子:
    
    
        父项目group
        父项目artifactId
        父项目version
    
    
        
        
            org.projectlombok
            lombok
            provided
        
    

你可能感兴趣的:(maven子pom没有继承到父pom依赖版本小问题记录)