V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
movq
V2EX  ›  程序员

大型多模块 Java 项目你们用什么构建工具

  •  
  •   movq · 13 天前 · 1494 次点击

    比如这样的项目结构,有时候各种模块之间依赖比较复杂,C 依赖 B 的代码,改 C 的时候可能会进去 B 改。

    root/
      moduleA/
      moduleB/
      moduleC/
    

    对于 Maven 这种构建工具,不支持增量编译,所以得全部重新编译才行。对于大型应用这样就太费时了。(不清楚为什么这么流行,感觉很奇怪)

    而 IDEA 、Eclipse 这种 IDE 自带的构建系统,都支持增量编译。如果只改了几行,就秒编译了。

    至于 Gradle ,它除了和 IDE 无关,所以能够解除和具体 IDE 的绑定之外,有什么别的优点呢

    8 条回复    2025-07-05 18:25:50 +08:00
    dandycheung
        1
    dandycheung  
       13 天前 via Android
    现在不是刚出了个 mvnd 还是啥来着
    Need4more
        2
    Need4more  
       13 天前
    试下这个:
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
    <incremental>true</incremental> <!-- 启用增量编译 -->
    </configuration>
    </plugin>

    或者插件:takari-lifecycle-plugin ,支持增量和并行编译
    Need4more
        3
    Need4more  
       13 天前
    @Need4more 另外,mvn 可以单独构建某一个模块:mvn install -pl moduleC -am
    seanzxx
        4
    seanzxx  
       13 天前 via iPhone
    Gradle 支持增量变异呀,mvn 是声明式配置,gradle 是脚本式配置,灵活度高很多
    totoro52
        5
    totoro52  
       12 天前
    mark 一下,遇到过这个问题
    ZeawinL
        6
    ZeawinL  
       12 天前 via iPhone
    单独抽一个项目出来定接口
    iv8d
        7
    iv8d  
       12 天前 via Android
    自动编译一直都是增量的,不清楚你怎么玩的
    k9990009
        8
    k9990009  
       12 天前 via Android
    多层嵌套都支持,用相对路径去指定特定模块打包 mvn clean package -pl ruoyi-gateway,ruoyi-modules/ruoyi-job,ruoyi-modules/ruoyi-gen,ruoyi-visual/ruoyi-nacos -am -D maven.test.skip=true -P dev
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3893 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 00:55 · PVG 08:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.