J'ai récemment désinstallé Java 8 pour utiliser Java 6 car je souhaite que mon code/mes créations soient utilisables par plus de personnes que celles qui se trouvent sur Java 8. do mvn - version
il retourne:
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)
Quand je fais 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)
Tout semble aller pour le mieux avec Java, mais cela se produit également lorsque j'essaie d'exécuter des fichiers JAR exécutables. Je l'ai contourné en faisant manuellement Java -jar (nom du jar)
Selon site web maven , la dernière version à prendre en charge Java 6 est 3.2.5, et les versions 3.3 et supérieures utilisent Java 7. Mon intuition est que vous ' Si vous utilisez Maven version 3.3 ou supérieure, vous devez soit passer à Java 7 (et définir les attributs source/cible appropriés dans votre pom), soit rétrograder maven.
Ce numéro de version (51.0) indique que vous essayez d’exécuter des classes compilées pour Java 7. Vous devrez les recompiler pour Java 6.
Notez cependant que certaines fonctionnalités peuvent ne plus être compatibles avec Java 6, qui est très ancien et qui n'est plus pris en charge (publiquement) par Oracle.
j'ai également fait face à un problème similaire. J'ai pu résoudre ce problème en définissant Java_HOME dans la variable d'environnement de Windows. La définition de Java_HOME dans un fichier de commandes ne fonctionne pas dans ce cas.
J'ai rencontré le même problème. J'utilise jdk 1.8 et maven 3.3.9 Une fois que j'ai exporté Java_HOME, je n'ai pas vu cette erreur. export Java_HOME =/Bibliothèque/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Sommaire/Accueil /
Le problème vient du fait que vous n'avez pas défini correctement la version de JDK. Vous devez utiliser jdk 7 pour le numéro majeur 51. Comme ceci:
Java_HOME =/usr/Java/jdk1.7.0_79
Je suis confronté au même problème et résolu en ajoutant la variable Java_HOME avec la version mise à jour de Java dans ma machine Ubuntu (16.04). Si vous utilisez "Apache Maven 3.3.9", vous devez mettre à niveau votre Java_HOME avec Java7 ou plus.
Étape pour faire ceci
1-Sudo vim/etc/environment
2-Java_HOME = Répertoire d'installation Java (MyCase-/opt/dev/jdk1.7.0_45 /)
3-Run echo $ Java_HOME donnera la valeur définie à Java_HOME
4-Now mvn -version donnera la sortie désirée
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"