2012-01-05 7 views
2

私はapt-getを使ってXubuntuにopenjdk-7を正しくインストールしようとしています。それはjavacのバージョンで動作しない得るJavaのバージョンのようだ。これは私がXubuntuの中に持っているものです。apt-getを使ってXubuntuにOpenJDK-7をインストール

[email protected]:~$ 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) ... 
... 
[email protected]:~$ 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) 
... 
[email protected]:~$ sudo apt-get install openjdk-7-jdk 
... 
[email protected]:~$ javac -version 
javac 1.7.0_147 

は、私は、LinuxやJavaの専門家ではないので、私は、HelloWorldプログラムを書いたとUbuntuアプライアンスでそれをしようとする前に、どこでもMy Mac上でそれをテストしました。私が持っている:

[email protected]:~$ javac HelloWorld.java 
[email protected]:~$ 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. 

任意のアイデア:良いように見えますが、は、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 

?私がしたいのは、openjdk-7をXubuntuボックスで動かすだけです。問題はJavaとjavacのバージョンが違いますが、私はapt-getを使用していますか?

+3

'update-alternatives --config java'を実行するとどうなりますか? –

+0

それは答えです。私は '/ usr/lib/jvm/java-7-openjdk-i386/jre/bin/java'に切り替える必要がありました – ChrisP

答えて

3

問題では、Java 7でコンパイルし、Java 6で実行しているということです。

Unsupported major.minor version 51.0 

は私がオフに開始する:あなたは、クラスのバージョン管理の問題を取得している理由

... 
[email protected]:~$ java -version 
java version "1.6.0_23" 
... 
[email protected]:~$ javac -version 
*javac 1.7.0_147* 
... 

それはですとなります。javajavacはそれぞれがどこから実行されているかを追跡し始めます。私の推測では、あなたがJAVA_HOMEjavacのと同じパスからのJava実行を持っているあなたのPATHを更新する必要があるということです。

関連する問題