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

74 天前
 movq

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

root/
  moduleA/
  moduleB/
  moduleC/

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

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

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

1770 次点击
所在节点    程序员
8 条回复
dandycheung
74 天前
现在不是刚出了个 mvnd 还是啥来着
Need4more
74 天前
试下这个:
<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
74 天前
@Need4more 另外,mvn 可以单独构建某一个模块:mvn install -pl moduleC -am
seanzxx
74 天前
Gradle 支持增量变异呀,mvn 是声明式配置,gradle 是脚本式配置,灵活度高很多
totoro52
74 天前
mark 一下,遇到过这个问题
ZeawinL
74 天前
单独抽一个项目出来定接口
iv8d
74 天前
自动编译一直都是增量的,不清楚你怎么玩的
k9990009
73 天前
多层嵌套都支持,用相对路径去指定特定模块打包 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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1143108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX