我正在尝试使用apt在Xubuntu中正确安装openjdk-7。我得到的java版本似乎不适用于javac版本。这就是我在Xubuntu的文章:
chris@ubuntu:~$ sudo apt-get install openjdk-7-jre
...
Setting up openjdk-7-jre-lib (7~b147-2.0-0ubuntu0.11.10.1) ...
Setting up libaccess-bridge-java (1.26.2-6) ...
Setting up icedtea-7-jre-jamvm (7~b147-2.0-0ubuntu0.11.10.1) ...
Setting up openjdk-6-jre-headless (6b23~pre11-0ubuntu1.11.10) ...
...
chris@ubuntu:~$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)
...
chris@ubuntu:~$ sudo apt-get install openjdk-7-jdk
...
chris@ubuntu:~$ javac -version
javac 1.7.0_147我不是Linux或Java专家,所以我编写了HelloWorld程序并在我的mac上进行了测试,然后再在Ubuntu设备上试用。我有:
---------------------------------------------------
// Hello World!
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
---------------------------------------------------
Chris-mac:~ Chris$ javac -version
javac 1.6.0_29
Chris-mac:~ Chris$ java -version
java version "1.6.0_29"
Chris-mac:javaprac Chris$ java HelloWorld
Hello, world.
Chris-mac:javaprac Chris$ clear这看起来不错,但是切换回Ubuntu,重新编译,并尝试运行相同的程序会产生:
chris@ubuntu:~$ javac HelloWorld.java
chris@ubuntu:~$ java HelloWorld
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld : 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: HelloWorld. Program will exit.有什么想法吗?我想做的就是让openjdk-7在Xubuntu盒上工作。问题在于使用apt的java和javac的不同版本,对吗?
发布于 2012-01-05 00:36:11
问题是,您正在为Java 7编译并在Java 6中运行:
...
chris@ubuntu:~$ java -version
java version "1.6.0_23"
...
chris@ubuntu:~$ javac -version
*javac 1.7.0_147*
...这就是为什么出现类版本控制问题的原因:
Unsupported major.minor version 51.0我首先从、哪个java、和哪个javac开始跟踪它们的运行位置。我的猜测是,您需要更新JAVA_HOME和 path ,以便从与javac相同的路径上运行java。
https://stackoverflow.com/questions/8735904
复制相似问题