栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven多模块情况下只编译单个子模块

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven多模块情况下只编译单个子模块

例如有三个模块,聚合模块Parent,和模块Son1以及模块Son2,其中Son2又依赖Son1。 Parent.pom



  4.0.0

  org.example
  Parent
  pom
  1.0-SNAPSHOT
  
    ../Son1
    ../Son2
  

  Parent
  http://www.example.com

  
    UTF-8
    1.8
    1.8
  

  
    
      
        junit
        junit
        4.11
      
    
  

Son1.pom



  4.0.0


  org.example
  Son1
  1.0-SNAPSHOT

  Son1
  
  http://www.example.com

  
    UTF-8
    1.8
    1.8
  

  
    
      junit
      junit
      4.11
      test
    
  



Son2.pom



  4.0.0

  org.example
  Son2
  1.0-SNAPSHOT

  Son2
  
  http://www.example.com

  
    UTF-8
    1.8
    1.8
  

  
    
      junit
      junit
      4.11
      test
    
    
      org.example
      Son1
      1.0-SNAPSHOT
    
  


分别编译这三个模块,会是下面的现象:

1.编译Parent,同时会编译Son1和Son2。

[INFO] Reactor Build Order:
[INFO] 
[INFO] Son1                                                               [jar]
[INFO] Son2                                                               [jar]
[INFO] Parent                                                             [pom]

2.编译Son1,则只会编译Son1。

[INFO] Building Son1 1.0-SNAPSHOT

3.编译Son2,如果先Son1先install,再编译Son2则成功。

如果不先install Son1,那么编译Son2的时候会因为找不到Son1失败。

[INFO] Building Son2 1.0-SNAPSHOT
[WARNING] The POM for org.example:Son1:jar:1.0-SNAPSHOT is missing, no dependency information available
[INFO] BUILD FAILURE

所以针对这种情况可以在Parent.pom层级下执行:

mvn clean install -pl ../Son2 -am 或者 mvn clean install -pl :Son2 -am 

[INFO] Reactor Build Order:
[INFO] 
[INFO] Son1                                                               [jar]
[INFO] Son2                                                               [jar]

-pl, --projects
        Build specified reactor projects instead of all projects
-am, --also-make
        If project list is specified, also build projects required by the list
        (Maven 将构建指定项目所依赖的所有项目(直接或间接))

Ref:

java - Maven Modules + Building a Single Specific Module - Stack Overflowhttps://stackoverflow.com/questions/1114026/maven-modules-building-a-single-specific-moduleMaven Tips and Tricks: Advanced Reactor Optionshttps://blog.sonatype.com/2009/10/maven-tips-and-tricks-advanced-reactor-options/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679032.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号