Exception in thread XXX java.lang.ClassFormatError: Truncated class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.sun.tools.javac.v8.GenerateClass$Loader.findClass(GenerateClass.j
ava:273)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
网上搜索了一把, 都说是class文件损坏了,或者jar包坏了。 以前有过maven download 的jar包不完整,导致无法运行java程序,但不是这种错误。 查了最近更新的maven本地库的jar包,都是ok的。
不论是用eclipse,还是mvn命令运行程序或者test case, 都出这个错误。 最后没辙,只好重启试试。关机的时候机器下了6个补丁,启动的时候有200多个补丁被更新,估摸着可能是操作系统的更新不完全所导致的。 启动完后再运行,果然不再有异常了。
前两个月java也遇到很奇怪的问题, 后来重启补丁自动装完后就正常了。 看来64位的windows 7上跑java,不太靠谱。