2015-05-28 3 views
8

Я пытался установить и настроить maven-3.3.3 за последний час. Когда я типа:Ошибка установки Maven - maven: Исключение в потоке «main» java.lang.UnsupportedClassVersionError

mvn --version 

Я получаю эту ошибку в ЦМД

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/ma 
ven/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:14 
1) 
     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(Cl 
assRealm.java:401) 
     at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(
SelfFirstStrategy.java:42) 
     at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadCl 
ass(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(Launch 
er.java:144) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun 
cher.java:266) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
356) 

Я следовал за официальное руководство, а также рассмотрели ряд других блогах и форумах.

Вот мои системные переменные

JAVA_HOME = C:\Program Files\Java\jdk1.6.0_45 
M2_HOME = C:\Program Files\Apache Software Foundation\apache-maven-3.3.3 
MAVEN_OPTS = -Xms256m -Xmx512m 

И я добавил следующие строки в конце пути переменной

%M2_HOME%\bin;%JAVA_HOME%\bin 

Кто-то пожалуйста, скажите мне, почему я получаю эту ошибку. Заранее спасибо.


PS

java -version 

дает

java version "1.6.0_45" 
Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing) 
+2

T для версии Maven, которую вы пытаетесь использовать, требуется Java 7 или новее. Он не будет работать на Java 6 и старше. Обновите версию Java, потому что Java 6 устарела. – Jesper

+1

Вы не читали примечания к выпуску этой версии, поскольку Maven 3.3.X - это Java 1.7. http://blog.soebes.de/blog/2015/03/17/apache-maven-3-dot-3-1-features/ – khmarbaise

ответ

13

Вам необходимо обновить до Java 7, как версия класса 51.0 означает, что он был построен для Java 7. Кстати, это действующие версии:

J2SE 8 - 52 
J2SE 7 - 51 
J2SE 6.0 - 50 
J2SE 5.0 - 49 
JDK 1.4 - 48 
JDK 1.3 - 47 
JDK 1.2 - 46 
JDK 1.1 - 45 
+1

Большое спасибо. Теперь я использую Maven 3.2.5, так как Java 6 необходим для моего проекта. Опять же, спасибо кучу – asamolion

+0

Вы можете использовать Java 7 для генерации файлов классов Java 6 BTW. – meskobalazs

+0

Будьте осторожны с кросс-компиляцией, хотя использование Java 7 и таргетинга на Java 6 может быть сложным, я бы рекомендовал пройти через [этот SO post] (http://stackoverflow.com/q/35913775/5606016) –

Смежные вопросы