开发过程中,Ja va编译缓存越积越多,磁盘空间告急、构建变慢,这时候就需要来一次彻底清理。不过,清理前得先搞清楚缓存都藏在哪,不同工具有不同的处理方式——下面把常见的场景和操作步骤捋一遍。

1. 清理项目构建工具生成的编译缓存
Ja va项目最常见的构建工具是Ma ven和Gradle,它们会把编译后的类文件、资源文件等缓存在项目目录里。Ma ven的缓存默认放在target文件夹,Gradle的则在build文件夹。清理方法很简单:
- Ma ven项目:打开终端,进入项目根目录(就是有
pom.xml的那个文件夹),执行mvn clean。这个命令会删掉target目录以及里面所有东西。 - Gradle项目:同样,进入项目根目录(有
build.gradle),执行gradle clean,build目录就会被清空。如果想清理得更彻底,比如强制刷新依赖,Gradle可以加上--refresh-dependencies参数,Ma ven则用mvn clean -Dma ven.clean.skip=false确保清理操作不被跳过。
2. 清理本地Ma ven/Gradle仓库缓存
除了项目自身的编译输出,Ma ven和Gradle还会把下载的依赖包(JAR文件)缓存到本地仓库。时间一长,这些缓存会占用不少磁盘空间。清理命令如下:
- Ma ven本地仓库:默认路径是
~/.m2/repository(~代表用户主目录)。直接运行rm -rf ~/.m2/repository/*,就能删除所有依赖缓存。 - Gradle本地缓存:默认路径是
~/.gradle/caches。执行rm -rf ~/.gradle/caches/*,就会删除依赖包、编译缓存等所有文件。
3. 清理系统临时目录中的Ja va编译缓存
Ja va编译过程中,临时文件(比如.class临时文件、编译中间产物)有时会跑到/tmp目录下。可以用rm -rf /tmp/*一键清理。不过要注意:这个命令会删掉/tmp下所有临时文件,执行前务必确认没有重要数据。
4. 清理IDE生成的编译缓存
如果使用IntelliJ IDEA、Eclipse这类IDE,它们也会生成自己的编译缓存。比如IntelliJ的out目录,Eclipse的bin目录。清理方法:
- IntelliJ IDEA:通过菜单栏
File > Invalidate Caches / Restart,选择Invalidate and Restart,IDE会清理缓存并重启。 - Eclipse:通过菜单栏
Project > Clean,选择需要清理的项目;或者手动删除项目目录下的bin文件夹。
注意事项
- 停止相关服务:清理前最好先停掉正在运行的Ja va应用(比如用
sudo systemctl stop your-ja va-service.service),否则缓存文件可能被占用,导致删除失败。 - 备份重要数据:清理操作不可逆。如果项目里有一些需要保留的自定义缓存(比如编译优化文件),记得提前备份。
- 自动清理配置:如果想减少缓存生成,Ma ven可以在
pom.xml里配置跳过测试编译;Gradle可以用true --no-build-cache禁用构建缓存。