Gradle项目IntelliJ报zip END header not found错误求助
解决Gradle下载后解压报错'zip END header not found'的方案
手动替换缓存中的完整压缩包
- 定位本地Gradle缓存目录:
- Linux/macOS:
~/.gradle/wrapper/dists/gradle-7.6-bin/<随机生成的字符串目录> - Windows:
C:\Users\<你的用户名>\.gradle\wrapper\dists\gradle-7.6-bin\<随机生成的字符串目录>
- Linux/macOS:
- 将你手动下载好的
gradle-7.6-bin.zip复制到该目录,不要解压 - 删除同目录下的
gradle-7.6-bin.zip.lck和gradle-7.6-bin.zip.part文件(这两个是下载未完成的锁文件和碎片文件) - 重新执行
./gradlew --version,Gradle会直接读取已存在的完整压缩包完成解压
直接指定本地已安装的Gradle路径
- 手动解压下载的
gradle-7.6-bin.zip到本地任意路径,比如/opt/gradle-7.6(Linux/macOS)或C:\gradle-7.6(Windows) - 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl为本地文件路径:# Linux/macOS示例 distributionUrl=file:///opt/gradle-7.6/gradle-7.6-bin.zip # Windows示例(注意三个斜杠) distributionUrl=file:///C:/gradle-7.6/gradle-7.6-bin.zip - 保存文件后重新执行
./gradlew --version
清除缓存并强制重新校验
- 执行命令时添加参数跳过构建缓存,避免缓存干扰:
./gradlew --version --no-build-cache - 若仍有问题,删除整个
.gradle缓存目录(~/.gradle或C:\Users\<你的用户名>\.gradle),然后将手动下载的压缩包放入对应dists目录后再执行命令
排查JDK兼容性问题
- 虽然Gradle 7.6.1支持JDK 19,但可临时切换到JDK 11或17(Gradle官方推荐的长期支持JDK版本)测试:
- Linux/macOS:执行
export JAVA_HOME=/path/to/your/jdk17后再运行命令 - Windows:执行
set JAVA_HOME=C:\path\to\your\jdk17后再运行命令
- Linux/macOS:执行
内容的提问来源于stack exchange,提问作者Ankit Punamiya
相关产品推荐
相关产品推荐

