2013-04-08 79 views
1

當我編譯我收到以下錯誤消息後運行我的HelloWorld類文件:錯誤的HelloWorld:在線程異常「主要」因爲java.lang.UnsupportedClassVersionError

Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld : 
Unsupported major.minor version 51.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(Unknown Source) 
     at java.lang.ClassLoader.defineClass(Unknown Source) 
     at java.security.SecureClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.access$000(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Could not find the main class: HelloWorld. Program will exit. 

我的程序如下:

class HelloWorld { 
    public static void main(String[] args) { 
     System.out.println("Hello, World"); 
    } 
} 

我是新來的Java,並且我已經第一次安裝了JDK 7,所以我沒有多個版本。請幫忙。

+0

這些錯誤通常意味着你已經編譯了你的代碼來定位一個比你試圖運行代碼的Java更新的版本。是否可以使用JDK7編譯,但是試圖在JRE 6上運行?看到http://stackoverflow.com/questions/10382929/unsupported-major-minor-version-51-0 – radai 2013-04-08 05:34:58

+0

你可以用java檢查版本 - 版本 – shola 2013-04-08 05:35:30

回答

0

您正在編譯Java版本7(JDK 7)的類。但是你試着用更低版本的Java來啓動它。

您可以在命令行中輸入「java -version」來查看您安裝的默認java版本。

+0

我進入了java -version並得到這個: C:\ JDK> java -version Java版本「1.6.0_20」 Java™SE運行時環境(內部版本1.6.0_20-b02) Java HotSpot™64位服務器虛擬機(版本16.3-b01,混合模式) – user2256222 2013-04-08 05:43:59

+0

您的編譯class-file是爲java版本> = 7編譯的。如果使用jdk 7編譯某些內容,那麼這是默認值。java的編譯器是javac,請參閱http://docs.oracle.com/javase/7/docs/technotes /tools/windows/javac.html – sushicutta 2013-04-08 05:48:51

+0

用javac你可以使用選項「target」。所以「javac -target 1.6」最終會在一個也運行在java 1.6_0_20上的類文件中。 – sushicutta 2013-04-08 05:50:36

1

從當Java虛擬機試圖讀取一個類文件,並 拋出的API

確定該文件的主要和次要版本號是不支持 。

意味着你的編輯水平較高JDK和

您正在使用較低的運行環境,然後編制水平。

+0

我不明白它是怎麼發生的。我第一次安裝,並且同時使用了JDK和JRE 7.我是否應該卸載所有內容並從其他站點重新安裝? – user2256222 2013-04-08 05:48:27

+0

不,您可能已經安裝了jdk。右鍵點擊你的項目去屬性,然後java編譯器看到你的Java項目的編譯級別。它是設置較低的版本,然後你有。 – subodh 2013-04-08 05:52:51

相關問題