尝试在Java中运行我编译的程序时出错

时间:2012-09-06 15:41:32

标签: java runtime-error

这是我的第一个程序,也是我第一次尝试运行它。我在Ubuntu上。

源代码:

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位服务器VM(内置20.0-b12,混合模式) 所有者@ ubuntu的:〜$

但是我的javac版本是:1.7.0_03

3 个答案:

答案 0 :(得分:2)

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

您的运行时JVM版本与编译时JVM版本不同。

确保您的类路径指向与编译时相同的JVM版本。

答案 1 :(得分: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.

答案 2 :(得分:0)

尝试在IDE中编写程序。它更容易,因为它向您显示代码中的错误,您可以轻松地从同一程序中编译它。 这是您可以下载好的网站 http://www.eclipse.org/downloads/packages/eclipse-ide-java-and-dsl-developers/junosr2