javaの勉強 javaバージョン違うよ

| コメント(0)

javaの勉強をするためちょっとプログラムを書いて実行することにした。

public class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello World !!");
  }
}

こんな簡単なプログラム(もちろくコピペ)をjavacでコンパイルした後(classを作って)javaで実行したら

powerpc@debian128bit:~$ 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.

盛大にエラーが。どうやらJavacのバージョンとJavaのバージョンが異なるようで...しかもJavacにオプションを渡して古いバージョンでコンパイルしようとしても跳ねられる(理由不明)。

仕方ないので同じバージョンのJavaを使うため調べたら/usr/bin/javaは/etc/alternatives/javaのシンボリックリンクで
、/etc/alternatives/は/usr/lib/jvm/java-6-openjdk-i386/jre/bin/javaのシンボリックリンクだった。

同様にjavacを辿ったら/usr/lib/jvm/java-7-openjdk-i386/bin/javacにたどり着いた。ひとまずjava7とかいうシンボリックリンクを作って対処、これていいんだろうか。

コメントする

このブログ記事について

このページは、powerpcが2013年6月21日 19:38に書いたブログ記事です。

ひとつ前のブログ記事は「空気清浄機 漏電」です。

次のブログ記事は「Java勉強 final いやはじまったばかり...」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。