최근 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 이름)을 수행하여 문제를 해결했습니다.
답변
maven 웹 사이트 에 따르면 Java 6을 지원하는 마지막 버전은 3.2.5이고 3.3 이상은 Java 7을 사용합니다. 내 직감은 Maven 3.3 이상을 사용하고 있으며 Java 7로 업그레이드해야하며 적절한 소스 / target 속성) 또는 다운 그레이드 maven.
답변
이 버전 번호 (51.0)는 Java 7 용으로 컴파일 된 클래스를 실행하려고 함을 나타냅니다. Java 6 용으로 다시 컴파일해야합니다.
그러나 일부 기능은 매우 오래되어 Oracle에서 더 이상 (공개적으로) 지원되지 않는 Java 6과 더 이상 호환되지 않을 수 있습니다.
답변
나도 비슷한 문제에 직면했습니다. Windows의 환경 변수에 JAVA_HOME을 설정하여이 문제를 해결할 수 있습니다. 이 경우 배치 파일에서 JAVA_HOME 설정이 작동하지 않습니다.
답변
문제는 JDK 버전을 제대로 설정하지 않았기 때문입니다. 51 번 메이저에는 jdk 7을 사용해야합니다. 다음과 같이하십시오.
JAVA_HOME = / usr / java / jdk1.7.0_79
답변
나는 같은 문제에 부딪쳤다. jdk 1.8과 maven 3.3.9를 사용합니다. JAVA_HOME을 내 보내면이 오류가 표시되지 않습니다. export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_121.jdk / Contents / Home /
답변
동일한 문제에 직면하고 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"
답변
JAVA_HOME 및 경로에 jdk8 이상 버전을 추가하십시오.
JAVA_HOME 추가 C : \ ProgramFiles \ Java \ jdk1.8.0_201
경로 =>
% MAVEN_HOME % \ bin 추가
마지막으로 PC를 다시 시작하십시오.