问题
我无法在Java 9和10上的IntelliJ build 182.4505.22上为导入的Eclipse项目编译Java代码。在编译模块或任何单个文件时显示以下错误:
Error:(1, 1) java: cannot access edu.wit.cs.comp2000
zip END header not found
详细信息
已经尝试
我已经审查了帖子here和here,它们没有提供任何相关详细信息。 我尝试在Java 9和10上进行编译,这没有什么区别。 我已将一个主要方法写入LinkedBag,并尝试独立于JUnit运行该方法,这将导致相同的错误。 IntelliJ无法在我的测试类中正确显示测试图标,因此我怀疑JUnit(或缺少JUnit)是问题的原因,但是我不确定如何继续。编译其他项目的工作(没有JUnit测试)就可以了。
更新
答案 0 :(得分:2)
就我而言,它是:/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.41/tomcat-embed-core-9.0.41.jar 我刚刚删除了它,我能够编译我的代码。 只要注意 .jar 文件,它就会出错。只需将其删除即可。
答案 1 :(得分:1)
当Idea在下载项目依赖项时互联网连接断开时,我们遇到了这个问题。我们通过从缓存中删除损坏的文件来解决它。缓存位置取决于您的构建工具,例如G。对于Maven,它位于~/.mvn
中;对于Gradle,它位于~/.gradle
中。
答案 2 :(得分:1)
我的Mac遇到了类似的问题。我刚刚删除了.m2存储库,并且再次进行了maven clean install工作。
答案 3 :(得分:1)
在我的情况下,该项目的gradle版本为6.2.2,并且在Intellij gradle设置中提供了6.4.1(系统默认gradle)路径。 这个问题突然出现了。我在这个项目上工作了很长时间,没有任何问题。我不太确定是什么触发了此问题。 gradle默认版本软件包很好,因为从命令行可以构建gradle。 :)
引自here的建议
以下任何一项解决了我系统上的问题:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-all.zip
答案 4 :(得分:0)
在Spring Boot应用程序中使用thymeleaf-extras-springsecurity4
中的依赖项org.thymeleaf.extras
时,我遇到了类似的问题。
将依赖关系更新到最新版本很有帮助。
答案 5 :(得分:0)
如上所述,只需删除损坏的缓存并重新启动Intellij。
在命令行中运行gradle可以帮助您了解应删除的内容。例如:
$ ./gradlew --version
Could not unzip /home/cesarc/.gradle/wrapper/dists/gradle-5.6.2-all/9st6wgf78h16so49nn74lgtbb/gradle-5.6.2-all.zip to /home/cesarc/.gradle/wrapper/dists/gradle-5.6.2-all/9st6wgf78h16so49nn74lgtbb.
Reason: error in opening zip file
并删除文件夹/home/cesarc/.gradle/wrapper/dists/gradle-5.6.2-all/9st6wgf78h16so49nn74lgtbb文件夹后,问题已解决:
$ ./gradlew --version
Downloading https://services.gradle.org/distributions/gradle-5.6.2-all.zip
......
答案 6 :(得分:0)
当您使用要求类型为pom
的依赖项(以传递方式添加所有对BOM表有用的依赖项)但未指定它时,也会发生这种情况。
例如,如果您有一个Spring Boot项目并使用该启动程序:
<dependency>
<groupId>org.zkoss.zkspringboot</groupId>
<artifactId>zkspringboot-starter</artifactId>
<version>${zkspringboot.version}</version>
</dependency>
然后mvn clean package
会给您以下错误:
错误:java:无法访问com.example.myproject
运行该应用程序将导致以下错误:
java:错误读取... \。m2 \ repository \ org \ zkoss \ zkspringboot \ zkspringboot-starter \ 2.3.0 \ zkspringboot-starter-2.3.0.jar; 找不到zip END标头
因为它不应该进行任何包装。
添加pom
打包类型可以解决此问题,从而可以使工件仅作为依赖项版本的描述符:
<dependency>
<groupId>org.zkoss.zkspringboot</groupId>
<artifactId>zkspringboot-starter</artifactId>
<version>${zkspringboot.version}</version>
<type>pom</type>
</dependency>
答案 7 :(得分:0)
调整文件观看设置对我有用。
对于Ubuntu / Mac,请运行以下两个命令。
sudo echo "fs.inotify.max_user_watches = 524288" | sudo tee /etc/sysctl.d/40-idea.conf
sudo sysctl -p --system
答案 8 :(得分:0)
我遇到了这个错误
[ERROR] error reading /Users/username/.m2/repository/io/confluent/common-config/5.5.1/common-config-5.5.1.jar; zip END header not found
我不知道为什么 jar 损坏了,但是当我用我同事的 jar 文件替换 jar 时错误消失了。暂时修复错误。