2011-11-03 128 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
相關問題