Eclipse中Quarkus Maven项目Ctrl点击跳转失效问题求助
Eclipse中Quarkus Maven项目代码跳转(Ctrl+点击/F3)失效的解决办法
问题背景
基于Quarkus 2.11.3.Final的Maven项目,在Eclipse 4.31.0中使用Ctrl+点击或F3跳转代码时弹出错误提示:
An error has occurred. See error log for more details. Bad zip entry: codestarts/quarkus-jbang/project/quarkus-jbang/base/..gitignore in C:\Users\user\.m2\repository\io\quarkus\quarkus-devtools-base-codestarts\2.11.3.Final\quarkus-devtools-base-codestarts-2.11.3.Final.jar
项目本身运行正常,但代码导航功能完全失效。已尝试删除.project/.classpath文件、重新安装依赖、克隆项目、删除报错jar包等操作,问题仍未解决。
解决方法
1. 移除不必要的依赖
报错的quarkus-devtools-base-codestarts是quarkus-devtools-common的子依赖,而quarkus-devtools-common是Quarkus开发工具类依赖,业务项目通常不需要引入。直接从POM中删除这个依赖:
<!-- 删除以下依赖 --> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-devtools-common</artifactId> </dependency>
执行mvn clean install刷新依赖,再重新导入Eclipse项目,即可解决zip条目错误导致的导航问题。
2. 升级Quarkus版本
Quarkus 2.11.x版本存在这个zip条目无效的bug,后续LTS版本(如2.16.x)已修复该问题。修改POM中的版本参数:
<quarkus.platform.version>2.16.10.Final</quarkus.platform.version>
执行mvn clean install更新所有依赖,重新导入Eclipse项目即可。
3. 手动修复损坏的Jar包
如果必须保留quarkus-devtools-common依赖,可以手动修复报错的jar:
- 找到路径
C:\Users\user\.m2\repository\io\quarkus\quarkus-devtools-base-codestarts\2.11.3.Final\quarkus-devtools-base-codestarts-2.11.3.Final.jar - 用压缩软件打开该jar,删除
codestarts/quarkus-jbang/project/quarkus-jbang/base/..gitignore这个无效条目(路径含..不符合zip规范) - 保存jar文件后,在Eclipse中执行
Maven > Update Project
4. 清除Eclipse JDT缓存
Eclipse可能缓存了损坏的jar信息,执行以下操作:
- 关闭Eclipse
- 删除工作区目录下的
.metadata/.plugins/org.eclipse.jdt.core文件夹 - 重启Eclipse并重新导入项目
问题原因
quarkus-devtools-base-codestarts-2.11.3.Final.jar中包含了不符合zip规范的条目..gitignore(路径包含..),Eclipse的JDT组件在解析该jar时抛出异常,导致代码导航功能中断。
内容的提问来源于stack exchange,提问作者CCC
相关产品推荐
相关产品推荐

