Exception in thread “main” java.util.zip.ZipException: zip file is empty
在构建flutter项目时,出现了如下错误:
Exception in thread "main" java.util.zip.ZipException: zip file is empty
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1581)
at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1389)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1483)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1288)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1251)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:732)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:849)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
at org.gradle.wrapper.Install.unzip(Install.java:214)
at org.gradle.wrapper.Install.access$600(Install.java:27)
at org.gradle.wrapper.Install$1.call(Install.java:74)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
问题原因
找不到gradle文件的zip文件、zip文件为空(大小为0)
在gradle项目中,通常会存在这样一个文件夹:gradle
,它的目录结构如下:
gradle/
\----wrapper/
+--------- gradle-wrapper.jar
\--------- gradle-wrapper.properties
在gradle-wrapper.properties
中,通常定义了gradle的版本信息等:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
本文中遇到的问题就是这个zip文件已经下载下来了,但是大小为0.
解决方案
1、删除已经下载的gradle.zip
文件,重新build。进入gradle的项目,运行./gradlew build
根据提示,删除对应文件夹下的目录
2、直接在gradle-wrapper.properties
中换一个gradle
版本。这方法有点low
,不建议使用。