복붙노트

[HADOOP] thread "main"예외 java.lang.UnsupportedClassVersionError, 지원되지 않는 major.minor 버전 52.0

HADOOP

thread "main"예외 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 설치 디렉토리를 나타냅니다.

당신의 도움을 주셔서 감사합니다.

해결법

  1. ==============================

    1.컴파일 할 때 JDK8을 사용하고 있고 사용중인 곳에서 Lower 버전을 사용하고있는 것 같습니다.

    컴파일 할 때 JDK8을 사용하고 있고 사용중인 곳에서 Lower 버전을 사용하고있는 것 같습니다.

    그래서

    이클립스를 사용한다고 가정 할 때, Window> Preferences> Compiler> 컴파일러 레벨

    낮은 레벨 (<현재 1)을 설정하십시오.

  2. ==============================

    2.나는 똑같은 문제를 해결했다. 나는 그것을 발견했다. 내 hadoop-env.sh의 JAVA_HOME은 / usr / lib / jvm / java-6-openjdk입니다. / etc / profile의 JAVA_HOME은 /usr/local/java/jdk1.8.0_25입니다.

    나는 똑같은 문제를 해결했다. 나는 그것을 발견했다. 내 hadoop-env.sh의 JAVA_HOME은 / usr / lib / jvm / java-6-openjdk입니다. / etc / profile의 JAVA_HOME은 /usr/local/java/jdk1.8.0_25입니다.

    / etc / profile의 JAVA_HOME을 hadoop-env.sh와 동일한 / usr / lib / jvm / java-6-openjdk로 변경 한 후 사용합니다. $ source / etc / profile # / etc / profile 효과 만들기

    내 문제가 해결되었습니다! 이게 당신을 도울 수 있기를 바랍니다.

  3. ==============================

    3.누군가 Java 8 컴파일러로 클래스를 컴파일하는 것처럼 보입니다. 문제가되는 항아리를 Java 7 이하의 준수 수준으로 다시 컴파일하십시오.

    누군가 Java 8 컴파일러로 클래스를 컴파일하는 것처럼 보입니다. 문제가되는 항아리를 Java 7 이하의 준수 수준으로 다시 컴파일하십시오.

  4. ==============================

    4.분명히 그것은 작동하지 않을 것입니다! 최신 JDK에서 컴파일하고 이전 JDK / JRE에서 전개 중입니다. 이전 JDK에서 컴파일해야합니다.

    분명히 그것은 작동하지 않을 것입니다! 최신 JDK에서 컴파일하고 이전 JDK / JRE에서 전개 중입니다. 이전 JDK에서 컴파일해야합니다.

  5. ==============================

    5.문제는 .jsp 파일이 예상보다 높은 컴파일러 (8)로 컴파일되고 있기 때문입니다 (7). 모든 컴파일 레벨을 낮추고 (예 : 7) 또한 .exe가있는 폴더의 Eclipse 구성 설정 파일에있는 jdk 경로를 변경하십시오.

    문제는 .jsp 파일이 예상보다 높은 컴파일러 (8)로 컴파일되고 있기 때문입니다 (7). 모든 컴파일 레벨을 낮추고 (예 : 7) 또한 .exe가있는 폴더의 Eclipse 구성 설정 파일에있는 jdk 경로를 변경하십시오.

  6. ==============================

    6.난 당신이 이미 대답을 가지고 있다고 생각합니다 .. 그냥 프로젝트 아래에 일식에서 JRE 시스템 라이브러리 [JavaSE - 1.x] 폴더가 있습니다 .. 오른쪽 클릭하면 JRE 시스템 라이브러리 화면이 나타납니다. 당신이 설정할 수 있습니다 실행 환경.

    난 당신이 이미 대답을 가지고 있다고 생각합니다 .. 그냥 프로젝트 아래에 일식에서 JRE 시스템 라이브러리 [JavaSE - 1.x] 폴더가 있습니다 .. 오른쪽 클릭하면 JRE 시스템 라이브러리 화면이 나타납니다. 당신이 설정할 수 있습니다 실행 환경.

  7. from https://stackoverflow.com/questions/18161907/exception-in-thread-main-java-lang-unsupportedclassversionerror-unsupported-m by cc-by-sa and MIT license