jagadeesh@jagadeesh-PC:~$ cd Programs
jagadeesh@jagadeesh-PC:~/Programs$ javac demo.java
jagadeesh@jagadeesh-PC:~/Programs$ java demo
Exception in thread "main" java.lang.UnsupportedClassVersionError: demo : 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: demo. Program will exit.
jagadeesh@jagadeesh-PC:~/Programs$ echo $CLASSPATH
jagadeesh@jagadeesh-PC:~/Programs$
我确信没有设置classpath。请问任何人请给我关于classpath,javahome等的详细解释。我在不同的网站上遇到过这些术语但我无法清楚地说明这些。我想解释一下应该包含在类路径中的路径以及如何执行它。 谢谢。
答案 0 :(得分:2)
不,我不认为这是一个类路径问题。我认为您的javac
版本7更有可能,但java
版本为6。
运行javac -version
和java -version
进行检查。然后使用which javac
和which java
计算每个人的运行位置。然后显式运行Java 7,或升级以便在任何地方运行Java 7,或使用javac -source 1.6 -target 1.6 demo.java
答案 1 :(得分:1)
类路径与您的问题无关:
问题是,您使用另一个编译器(javac)编译java源代码作为要尝试运行代码的JVM(java)。
看起来javac会发出JVM无法解释的类文件。
答案 2 :(得分:1)
在JDK版本7上编译的Java类不能使用JRE版本6或任何小于7的版本执行。尝试在系统上安装JDK和JRE的版本。如需更多帮助,请参阅: