Java 6 지원되지 않는 major.minor 버전 51.0


78

최근 Java 8을 제거하고 Java 8을 사용하는 것보다 더 많은 사람들이 내 코드 / 창작물을 사용할 수 있도록 Java 6을 사용 mvn - version했습니다.

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

내가 할 때 java -version:

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Java에서는 모든 것이 괜찮아 보이지만 실행 가능한 JAR을 실행하려고 할 때도 발생합니다. 수동으로 java -jar (jar 이름)을 수행하여 문제를 해결했습니다.


1
어떤 버전의 Maven을 사용하고 있습니까?
John Ament 2015-07-13

이다 JAVA_HOME / 빈은 / 자바 -version 또한 자바 버전 "1.6.0_45"을 인쇄?
Bacteria

그냥 1.6 호환성 자바 (8) 및 컴파일을 사용

Java 6은 매우 오래되어 한동안 지원되지 않았습니다. 나는 그것을 전혀 사용하지 않는 것이 좋습니다. 호환성을 높이고 싶다면 Java 7이 적합합니다.
거미 보리스

답변:


104

maven 웹 사이트 에 따르면 Java 6을 지원하는 마지막 버전은 3.2.5이고 3.3 이상은 Java 7을 사용합니다. 내 직감은 Maven 3.3 이상을 사용하고 있으며 Java 7로 업그레이드해야하며 적절한 소스 / target 속성) 또는 다운 그레이드 maven.


1
정확히 제 문제였습니다. 나는 최근에 64 비트 용 eclipse의 mars 2 버전을 설치했고 새로운 설치는 내 대신 임베디드 maven 버전을 사용했습니다. 두 가지 방법을 시도했습니다. 첫 번째는 프로젝트의 JRE 버전을 1.8로 변경하고 두 번째는 1.6 JRE를 허용하고 Maven 버전을 임베디드 버전에서 로컬 설치로 변경하는 것이었고 두 옵션이 모두 작동했습니다
Facepalmed

우리는 JDE 1.8을 사용하고 있으며 정확하게이 문제를보고 있습니다.
DrLou

12

이 버전 번호 (51.0)는 Java 7 용으로 컴파일 된 클래스를 실행하려고 함을 나타냅니다. Java 6 용으로 다시 컴파일해야합니다.

그러나 일부 기능은 매우 오래되어 Oracle에서 더 이상 (공개적으로) 지원되지 않는 Java 6과 더 이상 호환되지 않을 수 있습니다.


6
당신은 재미 있습니다 ... 여기 대부분의 정부는 여전히 자바 6을 사용합니다. 사실 그들은 자바 4에서 거의 도착하지 않았습니다 ... 4에서 6으로 해협되었습니다! (그리고 귀하의 의견은 작년부터입니다! :)
VeenarM

5

나도 비슷한 문제에 직면했습니다. Windows의 환경 변수에 JAVA_HOME을 설정하여이 문제를 해결할 수 있습니다. 이 경우 배치 파일에서 JAVA_HOME 설정이 작동하지 않습니다.


2

문제는 JDK 버전을 제대로 설정하지 않았기 때문입니다. 51 번 메이저에는 jdk 7을 사용해야합니다. 다음과 같이하십시오.

JAVA_HOME = / usr / java / jdk1.7.0_79


2

나는 같은 문제에 부딪쳤다. jdk 1.8과 maven 3.3.9를 사용합니다. JAVA_HOME을 내 보내면이 오류가 표시되지 않습니다. export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_121.jdk / Contents / Home /


나는 동일한 JRE 및 MVN을 가지고 있지만 이것은 작동하지 않았다 같은 오류가있어
user2568374을

0

동일한 문제에 직면하고 Ubuntu Machine (16.04)에 업데이트 된 Java 버전으로 JAVA_HOME 변수를 추가하여 해결했습니다. "Apache Maven 3.3.9"를 사용하는 경우 JAVA_HOME을 java7 이상으로 업그레이드해야합니다.

수행 단계

1-sudo vim / etc / environment

2-JAVA_HOME = JAVA 설치 디렉터리 (MyCase- / opt / dev / jdk1.7.0_45 /)

3 실행 echo $ JAVA_HOME은 JAVA_HOME 설정 값을 제공합니다.

4- 이제 mvn -version은 원하는 출력을 제공합니다.

Apache Maven 3.3.9

Maven home: /usr/share/maven

Java version: 1.7.0_45, vendor: Oracle Corporation

Java home: /opt/dev/jdk1.7.0_45/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "4.4.0-36-generic", arch: "amd64", family: "unix"

0

JAVA_HOME 및 경로에 jdk8 이상 버전을 추가하십시오.

JAVA_HOME 추가 C : \ ProgramFiles \ Java \ jdk1.8.0_201

경로 =>

% MAVEN_HOME % \ bin 추가

마지막으로 PC를 다시 시작하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.