2012-09-06 177 views
0

這是我的第一個程序,也是我第一次運行它。我在Ubuntu上。嘗試在Java中運行我編譯的程序時出錯

源代碼:

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

這是我的錯誤,當我嘗試運行它:

Exception in thread "main" java.lang.UnsupportedClassVersionError: printTest : 
               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: printTest. Program will exit. 


------------------ 
(program exited with code: 1) 
Press return to continue 

編輯:好的,這是我的JRE版本: 所有者@ Ubuntu的: 〜$ java -version java版本「1.6.0_24」 OpenJDK運行時環境(IcedTea6 1.11.4)(6b24-1.11.4-1ubuntu0.12.04.1) OpenJDK 64位服務器虛擬機(內部版本20.0-b12,模式) owne R 7 Ubuntu的:〜$

但我的javac的版本是:1.7.0_03

回答

2
Exception in thread "main" java.lang.UnsupportedClassVersionError: 

必須在運行的JVM版本的編譯時間JVM版本不同。

請確保您的classpath指向與編譯時相同的JVM版本。

+0

這是與JRE有關嗎? – neil

+0

我剛剛發佈我的答案時彈出一個新的答案消息xD – Ren

+0

是的,請檢查您的類路徑,並確保JAVA_HOME路徑指向相同的JRE。你在使用任何IDE嗎? – kosa

0

您正在編譯源代碼的Java版本和您正在執行源代碼的Java版本之間存在差異。

You are compiling in java 7 and executing in lesser version you need to set JAVA_HOME to java7 only.

Here is how to set JAVA_HOME on Ubantu.

+0

任何想法如何解決這個問題? – neil

+0

@neil更新了答案。 –

相關問題