如何将.gradle目录或其大体积缓存移至项目外部?
解决Gradle项目.gradle目录移至项目外的配置方案
一、在settings.gradle.kts中配置项目专属缓存目录
直接在项目根目录的settings.gradle.kts顶部添加代码,就能把原本放在项目内的.gradle目录转移到外部指定路径:
// 示例:把缓存放到系统临时目录下的专属文件夹,也可以改成你自己的自定义路径 val customGradleDir = File(System.getProperty("java.io.tmpdir"), "my-springboot-gradle-cache") gradle.startParameter.gradleUserHomeDir = customGradleDir
这样项目构建时,所有原本存在于项目根目录.gradle里的缓存、构建脚本数据都会存到这个外部目录,项目目录里不会再生成大体积的.gradle文件夹。
二、仅分离大体积依赖缓存
如果只想把占空间最多的依赖缓存移出去,保留项目内.gradle里的小配置文件,可以在settings.gradle.kts里设置项目专属的外部缓存路径:
// 替换成你想要的外部路径,比如自定义的磁盘目录 val externalCacheDir = File("D:/gradle-caches/${rootProject.name}") System.setProperty("gradle.user.home", externalCacheDir.absolutePath)
这种方式下,依赖缓存会存在外部目录,项目内的.gradle只会保留少量项目构建的配置文件,体积会大幅缩小。
注意点
- 首次用新缓存目录构建时,需要重新下载所有依赖,耗时会比平时长
- 如果用IntelliJ IDEA这类IDE开发,改完配置后要重启IDE,不然IDE可能还是会读取旧的缓存目录
- 备份项目时,只需要备份源码、
build.gradle.kts、settings.gradle.kts这些核心文件,外部缓存目录不用管
内容的提问来源于stack exchange,提问作者Nick Legend
相关产品推荐
相关产品推荐

