2011-11-03 85 views
1

在我的Java项目中,它完美地工作,没有任何问题。线程“main”中的异常java.lang.ClassFormatError:

但是,当我试图现在运行它,它给了我以下错误。我搜索了它,但找不到合适的解决方案。

下面是我的Java类:

public class MyClass{ 
    public static void main(String[] args) { 
     try { 
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
     } catch (ClassNotFoundException ex) {java.util.logging.Logger.getLogger(Dashboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (InstantiationException ex) {java.util.logging.Logger.getLogger(Dashboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) {java.util.logging.Logger.getLogger(Dashboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (javax.swing.UnsupportedLookAndFeelException ex) {java.util.logging.Logger.getLogger(Dashboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } 
     DB.connect(); 
     Login login = new Login(); 
     login.setVisible(true); 
    } 
} 

的错误是:

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file mypackage/Login 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    at mypackage.MyClass.main(MyClass.java:38) 
Java Result: 1 

如果有人知道的解决方案,请帮我解决这个问题。

谢谢

+0

你试过清洗项目和重楼? – trashgod

回答

0

检查包顶部的名称。 “mypacakge”的拼写错误?

+0

对不起,这是我的错,当我提出这个问题。软件包名称可以,但仍然存在错误:( – Mujahid

+0

)请编辑您的问题,以显示您正在编译的确切代码,并说出如何编译和运行(即,究竟是哪些命令,或者如果通过IDE,哪IDE)。 –

+0

上面显示的是确切的代码,我只是更改了包名和类文件名以便在此处更新。我正在使用NetBeans IDE 7.0.1 – Mujahid

2

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file mypackage/Login

这似乎预示着什么是错的Login类 - 可能未实现的方法,(S)。

+0

我很好奇他是如何获得此编译的,但问题同样出在可能是该类是使用新的编译器编译的,即他试图运行它的JVM。 –

1

我遇到了同样的问题。其实这是我的一个Netbean问题...

去你的项目属性,然后在Compiling禁用Compile on Save。 清理并构建您的项目,然后尝试运行它。

其他解决方法可以尝试一下,在项目属性(来源)中查看您的Source/Binary format,并确保使用正确的解决方案。检查图书馆使用的JDK平台。 我已经更新到JDK1.7(默认)库和JDK6的源代码,然后它适用于我。

其他可能的答案在这里:

  1. java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file "name of class"
  2. java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/webapp/FacesServlet
相关问题