问题
我无法在 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
细节
已经尝试过
我已查看 此处 和 此处 的帖子,但未提供任何相关详细信息。我尝试在 Java 9 和 10 上编译,这没有区别。我已经在 LinkedBag 中编写了一个 main 方法,并试图独立于 JUnit 运行它,这导致了同样的错误。 IntelliJ 没有在我的测试类中正确显示测试图标,所以我怀疑 JUnit(或缺少 JUnit)是问题的原因,但我不确定如何继续。为其他项目(没有 JUnit 测试)编译工作就好了。
更新
- 代码似乎在 Java 1.8 上按预期编译和测试,没有问题。每次切换到 Java 9 或 10 都会导致上述问题。我开始怀疑我的讲师的一个依赖项特别需要 Java 1.8,但是如果有人有解决方案,我仍然想使用更新版本的 Java。
原文由 J. Blackadar 发布,翻译遵循 CC BY-SA 4.0 许可协议
如上所述,只需删除损坏的缓存并重新启动 Intellij。
在命令行中运行 gradle 可以帮助您了解应该删除的内容。例如:
删除文件夹 /home/cesarc/.gradle/wrapper/dists/gradle-5.6.2-all/9st6wgf78h16so49nn74lgtbb 后问题解决了: