2012-05-14 66 views
0
$ pwd 
/home/tu/java/testpackage 

$ cat Test.java 
package testpackage; 

public class Test { 
    public static void main(String[] args) { 
     System.out.println("hi"); 
    } 
} 

$ javac -version 
javac 1.7.0_147 

$ java -version 
java version "1.6.0_23" 
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2) 
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing) 

$ cd .. 
$ javac -cp . testpackage/Test.java 

$ java -cp . testpackage.Test 

Exception in thread "main" 
java.lang.UnsupportedClassVersionError: testpackage/Test : 
Unsupported major.minor version 51.0 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
Could not find the main class: testpackage.Test. Program will exit. 

在我遇到這個錯誤時會出現什麼問題?Java中的UnsupportedClassVersionError異常1.6.0

+1

使用'java -cp。 testpackage.Test'。 'java'的參數是**類名**,而不是Java源文件名。 –

+0

好的,我將編輯問題以反映進度。 – xralf

+0

我編輯它,現在它應該反映它。當我在命令中嘗試更多的可能性時,這是發生的錯誤之一。 – xralf

回答

2

java實用程序不是一個編譯器。它是JVM。

你應該先編譯代碼:

javac -cp . testpackage/Test.java

這將產生Test.class文件。現在你可以運行它:

java -cp . testpackage.Test

注重,當你運行程序,你不必寫.class擴展。

+0

結束我已經完成了。現在它以[UnsupportedClassVersionError]結尾(http://pastebin.com/bUbiv62M) – xralf

+0

[This](http://stackoverflow.com/a/10585475/653379)是幫助我完全解決它的問題的延續。 – xralf

0

從你的java命令中刪除.java。

您需要指定完全合格的類名稱,它只是「testPackage.Test」。

+0

我已經完成了。現在它以[UnsupportedClassVersionError](http://pastebin.com/bUbiv62M) – xralf

0

From/home/tu/java:

java -cp。 testPackage.Test

(不要把結束 '的.java')

+0

結束我已經完成了。現在它以[UnsupportedClassVersionError](http://pastebin.com/bUbiv62M) – xralf