java.lang.ClassFormatError:类文件中非本机或抽象的方法中缺少代码属性;“班级名称”;
我知道这个问题可能看起来很愚蠢,因为我不能给出很多关于它的信息,但我认为问题一定是某种bug 我已经编写了一个带有NetBeans 7.1的java程序,现在在尝试运行时会出现这个错误。10分钟前它运行得很好,我没有对错误所指的类进行任何更改java.lang.ClassFormatError:类文件中非本机或抽象的方法中缺少代码属性;“班级名称”;,java,netbeans-7,Java,Netbeans 7,我知道这个问题可能看起来很愚蠢,因为我不能给出很多关于它的信息,但我认为问题一定是某种bug 我已经编写了一个带有NetBeans 7.1的java程序,现在在尝试运行时会出现这个错误。10分钟前它运行得很好,我没有对错误所指的类进行任何更改 这可能是某种NetBeans错误吗?也许这是一个众所周知的问题 JDK对ClassFormatError说: 当Java虚拟机尝试读取类文件并 确定文件的格式不正确或无法删除 解释为类文件 可能类文件已损坏。我将做标准的IT支持声明。 你试过重新启动Net
这可能是某种NetBeans错误吗?也许这是一个众所周知的问题 JDK对ClassFormatError说: 当Java虚拟机尝试读取类文件并 确定文件的格式不正确或无法删除 解释为类文件 可能类文件已损坏。我将做标准的IT支持声明。 你试过重新启动NetBeans吗
希望这对Netbeans 7.1有帮助。 在一个好几个月都运作良好的项目上工作。 现在我更改了一个bean,它通过javax.persistence持久化,现在抛出了这个异常。恢复了我的一些更改,清理并编译了项目,重新启动了整个系统:仍然是异常。 奇怪的是:在另一台机器上的Tomcat中,生成的.war可以完美地工作
更新: 今天我又遇到了同样的问题,我想不起来怎么解决了,但我又找到了这篇文章 半小时后,我找到了解决方案:只需更改属性
serialVersionUID
的值,重新部署应用程序,然后可以将该值更改为其原始值,然后重新部署->工作。
看起来Tomcat在某种程度上掌握了这个类——删除工作目录并没有带来成功 我也得到了这个例外。我的解决办法是:
- 编辑并保存提到的类(.java文件)
- 清洁与建设项目
- 部署到tomcat服务器
- “清理生成”和重新启动NB无效
- 用最新更新更新NB并执行“清理和构建”也不起作用李>
c:\Users\userabcd\AppData\Local\NetBeans\Cache\7.2\index\
启动NB,等待它完成“背景扫描”,然后按下“调试项目”,瞧。缓存每隔一段时间就会损坏一次:-/我刚刚在Netbeans 7.4测试版中遇到这种情况 我尝试过的事情:
- 重新启动Netbeans
- 清洁和建造李>
- 关闭netbeans、重命名缓存目录、启动netbeans并等待扫描完成
- 使源文件可写并保存无意义的更改(插入空格)李>
这是一个非常令人沮丧的情况——希望这能帮助某人(也许是未来的我?)。编辑:在下面添加了解决方案B 解决方案A:
- 如果未选中“保存时编译”,则此项目将不再存在此问题
- 如果您享受“保存时编译”功能的好处,则可以在清理和生成后重新检查该选项,并继续正常处理项目
- 保存时编译是为了节省时间,在保存对源代码的更改时,在后台不断地将.java文件重新编译为.class文件。这样,当您构建或运行项目时,大部分编译工作已经完成,允许您快速运行和测试代码,即使对于大型项目也是如此
- NetBeans使用一些奇特的缓存和版本控制,以避免每次保存文件时都必须重新编译整个项目。这就是为什么这里列出的其他解决方案通常会起作用;当缓存和版本控制系统偶尔出现故障时(如上所述),它们是击败该系统的方法
“C:\Program Files\NetBeans 8.2\bin\netbeans64.exe”--userdir“C:\Temp\mine”
C:\Temp\mine\var\cache
- 第一次将丢失所有NetBeans设置
- 更容易解决缓存错误导致的未来编译错误
- 允许运行多个NetBeans副本,每个userdir一个