web-dev-qa-db-ja.com

スレッド「メイン」Java.lang.UnsupportedClassVersionError、サポートされていないmajor.minorバージョン52.0の例外

Hadoop-1.0.4でWordCountの例を実行しようとすると、次のエラーが表示されます。

Exception in thread "main" Java.lang.UnsupportedClassVersionError: WordCount :
Unsupported major.minor version 52.0
    at Java.lang.ClassLoader.defineClass1(Native Method)
    at Java.lang.ClassLoader.defineClass(ClassLoader.Java:791)
    at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
    at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
    at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:423)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:356)
    at Java.lang.Class.forName0(Native Method)
    at Java.lang.Class.forName(Class.Java:264)
    at org.Apache.hadoop.util.RunJar.main(RunJar.Java:149)

私は次のJavaバージョンを使用します:

Java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)

また、Java_HOMEはJava7インストールディレクトリを示します。

ご協力いただきありがとうございます。

23
georgiana_e

コンパイルにJDK8を使用しているようで、使用している場所の下位バージョンです。

そう

Eclipseを使用すると仮定すると、Window > Preferences > Compiler > compiler level

そして、より低いレベルを設定します(<現在のもの)。

19
Suresh Atta

私が解決したのと同じ問題がありました。 Java_HOMEhadoop-env.sh/usr/lib/jvm/Java-6-openjdkですが、Java_HOME/etc/profile/usr/local/Java/jdk1.8.0_25であることがわかりました。

Java_HOME/etc/profile/usr/lib/jvm/Java-6-openjdkと同じhadoop-env.shに変更し、$source /etc/profile # to make /etc/profile effectsを使用した後

私の問題は解決しました!これがお役に立てば幸いです。

4
Albert

誰かがJava 8コンパイラでクラスをコンパイルできたようです。問題のあるjarをJava 7以下でコンパイルしてください。

0
chrylis

まあ明らかにそれは動作しません!新しいJDKでコンパイルし、古いJDK/JREでデプロイしています。古いJDKでコンパイルする必要があります。

0
saurav

この問題は、.jspファイルがexpected(7)よりも高いcompiler(8)でコンパイルされるためです。すべてのコンパイルレベルを低いレベル(7など)に変更します。また、.exeがある同じフォルダー内のEclipse構成設定ファイルで指定されたjdkパスも変更します。

0
prash.gaikwad4

また、同じ問題が発生しました。同じJavaバージョンをコンパイルに使用し、実行する場所で同じかそれ以上を使用する必要がありますが、その逆もこのエラーを引き起こします。

  1. Window > Preferences > Compiler > compiler level
  2. Java -versionそして両方とも同じバージョンを持っているなら、あなたは行ってもいいです。 Eclipseで新規プロジェクトを作成するとき:File -> New -> Java Project under[〜#〜] jre [〜#〜]check実行環境を使用する enter image description hereそして、このプロジェクトを実行する必要があるシステムとシステムにある同じバージョンに設定します。
0
Nikhil Chauhan

あなたはすでにあなたの答えを得たと思います..追加するだけで、プロジェクトの下のEclipseにはJREシステムライブラリ[JavaSE-1.x]フォルダがあります..それを右クリックすると、JREシステムライブラリ画面が表示されます。実行環境。

0
ppant