简单的java程序无法运行
我正在尝试用java版本1.6在linux机器上编译和运行HelloWorld。我编译了它,但无法运行它。我知道这个程序至少是正确的 有人能告诉我如何运行这个愚蠢的程序吗 我知道这个问题已经被解决过好几次了,但是没有找到解决这个问题的方法。我使用的编译命令:简单的java程序无法运行,java,Java,我正在尝试用java版本1.6在linux机器上编译和运行HelloWorld。我编译了它,但无法运行它。我知道这个程序至少是正确的 有人能告诉我如何运行这个愚蠢的程序吗 我知道这个问题已经被解决过好几次了,但是没有找到解决这个问题的方法。我使用的编译命令:javac ExampleProgram.java。 运行我使用的命令:javaexampleprogram //A Very Simple Example class ExampleProgram { public static voi
javac ExampleProgram.java
。
运行我使用的命令:javaexampleprogram
//A Very Simple Example
class ExampleProgram {
public static void main(String[] args){
System.out.println("I'm a Simple Program");
}
}
错误:
java -classpath . ExampleProgram
Exception in thread "main" java.lang.UnsupportedClassVersionError: ExampleProgram : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: ExampleProgram. Program will exit.
您的程序是用JDK1.7编译的,但实际上是用早期版本的Java运行的 如果在命令行中调用该程序,请键入
java -version
查看您实际使用的Java版本
或者,如果您正在使用Eclipse之类的编辑器,请查看Java设置
另一个解决方案是使用
javac -source 1.6 -target 1.6 SimpleProgram.java
而不是
javac SimpleProgram.java
您正在编译和运行不同版本的Java,这对我解决问题没有多大帮助。当我检查java版本时,它告诉我:java版本“1.6.0_35”java(TM)SE运行时环境(构建1.6.0_35-b10)java热点(TM)64位服务器VM(构建20.10-b01,混合模式)您的jre和jdk应该是相同的版本…如何修复它,使编译和运行可以使用相同的版本发布?使用
javac-version
检查您的javac版本当我检查java版本时,它告诉我:java版本“1.6.0_35”java(TM)SE运行时环境(构建1.6.0_35-b10)java HotSpot(TM)64位服务器VM(构建20.10-b01,混合模式)也看到了吗?我刚才回答了一个类似的问题。你能删除SimpleProgram.class文件,然后用javac-source 1.6-target 1.6 SimpleProgram.java再试一次吗?它应该可以工作。@su-OPs Classname是class-ExampleProgram
我明白了。这就是为什么。谢谢Smit.MMAB,正如Smit指出的,你正在编译类a并执行类B。