2012-09-06 63 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更新了答案。 –

相关问题