问题背景:目前刚到新公司进行实习,刚去的话就是熟悉公司的技术栈

(两个版本,2.0是旧版本:Spring+JSP;3.0是新版本:微服务+React)

第一次接触真正的企业级开发,项目还是非常大的,数据库表也很多(每个表字段也很多,因为先是2.0,没有微服务,总之就是项目体量不小)

接下来说一下对于项目编译,我做出的一些改变(学到的东西):

全量编译

首先,在修改了代码之后,我还是习惯的和之前自己做项目一样,点开Maven,跳过test,进行package操作:

对应的结果就是,改了几行代码之后,进行编译测试,编译时间 50-60 min,那这样的话编译都占据了大部分时间(任务完不成了)

继续改进

于是乎,我请教了我大哥,首先做出的改进就是:

  • 对于修改的 JSP 文件,直接不用重新编译,将自己修改的代码,copy 到 target 目录中相同层级相同文件中即可(JSP 不涉及编译,只要能到 target 中就行,Java 需要 编译为 class 文件)
  • 对于修改较少的单个 Java 文件,直接对这个文件重新编译即可:

可以根据 IDEA Build 工具栏中的选项进行选择,分别对应 全量编译、模块编译、单个文件编译,可以根据自己修改的代码情况进行选择

请教 GPT

在进行了上述修改后,是提高了一些效率,但是还是不理想,有的情况下编译单个文件行不通,涉及到级联编译,或者一些其他问题,不是每次都能如愿的。因此,我又请教了一下 GPT:

上面两种方式感觉也比较靠谱,使用插件进行测试:

具体速度可以结合项目进行测试

  • 对于方法二:并行构建,还是需要结合自己的硬件情况来进行配置
  • 另外,加上参数跳过 test 速度会更快: mvn clean package -DskipTests=true -T 4

除了以上方法以外,还有一个说法,就是把 IDEA 配置修改一下,由 javac 改为 Eclipse方式,这个方式没有具体测试,可以自行测试一下:

项目热部署

代码经过改动能自动部署启动,不需要程序员手动关闭重启就叫热部署

除了前面的方法之外,为了使项目修改及时生效,也可以使用热部署的方式,目前使用比较多的有两种:

  • Devtools(需引入依赖)
  • JRebel(需下载插件,高版本收费)

以上两种热部署方式可以查看此文:https://www.jiusi.cc/archives/1701606865735

END
本文作者: 文章标题:记录项目编译速度过慢的解决方法
本文地址:https://www.jiusi.cc/archives/264/
版权说明:若无注明,本文皆九思のJava之路原创,转载请保留文章出处。
最后修改:2024 年 02 月 23 日
如果觉得我的文章对你有用,请随意赞赏