Java 如何修复此验证错误?

Java 如何修复此验证错误?,java,debugging,verifyerror,Java,Debugging,Verifyerror,我最近一直在努力寻找源代码,我的程序一直显示一条致命错误消息: Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 65 我已经尝试了很多事情,包括:删除所有类文件并重建它们,将整个项目复制到一个新项目中,将我的Eclipse版本从开普勒升级到Luna,以及修改错误消息给出的行号周围的代码。一切都不起作用,我排除了使用编辑器的可能性,因为其他java项目运

我最近一直在努力寻找源代码,我的程序一直显示一条致命错误消息:

Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 65
我已经尝试了很多事情,包括:删除所有类文件并重建它们,将整个项目复制到一个新项目中,将我的Eclipse版本从开普勒升级到Luna,以及修改错误消息给出的行号周围的代码。一切都不起作用,我排除了使用编辑器的可能性,因为其他java项目运行得很好。如果您能告诉我解决这个问题的方法,我将不胜感激

我的代码可以找到。这个错误与Chunk类有关,但具体是什么我真的不知道。错误消息的堆栈跟踪为:

at ca.ajweeks.igmc2014.level.Level.<init>(Level.java:22)
at ca.ajweeks.igmc2014.state.GameState.init(GameState.java:36)
at ca.ajweeks.igmc2014.state.StateManager.init(StateManager.java:34)
at ca.ajweeks.igmc2014.state.StateManager.<init>(StateManager.java:29)
at ca.ajweeks.igmc2014.Game.<init>(Game.java:38)
at ca.ajweeks.igmc2014.Game.main(Game.java:51)

编辑:错误的来源似乎是Chunk类中readFile方法中的try with resources语句。我不知道当前版本的java中是否存在导致这种情况的bug,或者与我的特定程序有关,无论哪种方式,使用普通的try-catch块都可以解决这个问题。谢谢大家的帮助

如果你想在这里发布相关代码,这将节省大量时间以及代码链接


请看一看这个类似错误的线程及其解决方案,希望这能有所帮助。

您已经通读了吗?这也会让我发疯:您是否尝试过在Level中简化第22行?您正在创建一个区块对象数组,其中每个区块都在一行中使用字符串和整数进行初始化!如果我选择了你的位置,我会先实例化对象,然后创建数组,然后将它们全部放在一起——根据需要用尽可能多的行。然后,您的异常应该向您显示更具体的内容。对不起,如果我没有发现你的错误。。出于兴趣,为什么要使用levels/+String.valueOflevel而不是levels/+levels?理论上,如果不以某种方式修改.class文件,您就不可能产生那种特殊的VerifyError不一致堆栈映射。这可能是因为您有某种分析工具正在处理.class文件,可能内置在IDE中。一种奇怪的可能性是,您从失败的一个类中引用了另一个类的两个不同版本-一个版本在编译时被引用,另一个版本在执行时被引用。@GameDroids是的,我尝试过简化/修改这一行,但毫无帮助。我最初确实有levels/+levels,但尝试将其更改为levels/+String.valueOflevel以试图找到bug。不幸的是,这没有帮助,但无论如何还是要感谢。@HotLicks我曾经尝试过实现BugSnag,但我认为我已经完全删除了它。我之前也实现了Slick2D,但据我所知,我也完全删除了它。我的Java构建路径只有JRE系统库,其他什么都没有。。。我刚刚安装了一个新版本的Eclipse,这样就不会有任何第三方工具像您所说的那样进行处理。