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インストールディレクトリを示します。
ご協力いただきありがとうございます。
コンパイルにJDK8を使用しているようで、使用している場所の下位バージョンです。
そう
Eclipseを使用すると仮定すると、Window > Preferences > Compiler > compiler level
そして、より低いレベルを設定します(<現在のもの)。
私が解決したのと同じ問題がありました。 Java_HOME
のhadoop-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
を使用した後
私の問題は解決しました!これがお役に立てば幸いです。
誰かがJava 8コンパイラでクラスをコンパイルできたようです。問題のあるjarをJava 7以下でコンパイルしてください。
まあ明らかにそれは動作しません!新しいJDKでコンパイルし、古いJDK/JREでデプロイしています。古いJDKでコンパイルする必要があります。
この問題は、.jspファイルがexpected(7)よりも高いcompiler(8)でコンパイルされるためです。すべてのコンパイルレベルを低いレベル(7など)に変更します。また、.exeがある同じフォルダー内のEclipse構成設定ファイルで指定されたjdkパスも変更します。
また、同じ問題が発生しました。同じJavaバージョンをコンパイルに使用し、実行する場所で同じかそれ以上を使用する必要がありますが、その逆もこのエラーを引き起こします。
あなたはすでにあなたの答えを得たと思います..追加するだけで、プロジェクトの下のEclipseにはJREシステムライブラリ[JavaSE-1.x]フォルダがあります..それを右クリックすると、JREシステムライブラリ画面が表示されます。実行環境。