Recientemente he desinstalado Java 8, para el uso de Java 6 como quiero mi código/creaciones para ser utilizables por personas más que los de Java 8. Cuando hago mvn - version devuelve:

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)

Cuando hago 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)

Todo parece estar bien con Java, pero esto también sucede cuando trato de ejecutar el ejecutable de Frascos. Tengo alrededor de él manualmente haciendo java -jar jar nombre)

  • ¿qué versión de maven estás usando?
  • es JAVA_HOME/bin/java-version también se imprime la versión de java «1.6.0_45»?
  • Sólo el uso de java 8 y compilar con 1.6 de compatibilidad
  • Java 6, es muy antigua y ha sido sin apoyo durante un tiempo. Yo aconsejo que se use en absoluto. Si usted desea aumentar la compatibilidad de Java 7 es el camino a seguir.
InformationsquelleAutor Hassan Syyid | 2015-07-13

6 Comentarios

  1. 95

    Según maven sitio web, la última versión compatible con Java 6 se 3.2.5, y 3.3 y hasta el uso de Java 7. Mi corazonada es que usted está usando Maven 3.3 o superior, y debe actualizar a Java 7 (y el conjunto adecuado de origen/destino de los atributos en su pom) o degradar maven.

    • Oh gracias, esto funcionó!
    • Era exactamente mi problema. Recientemente he instalado la mars 2 versión de eclipse para 64 bits y nueva instalación utiliza su embedded maven versión en lugar de la mía. He tratado de dos maneras: la primera de ellas fue el cambio de la versión de JRE de que el proyecto de 1.8 y el segundo fue dejar que el 1.6 de JRE y cambiar la versión de maven de la incrustados uno para mi instalación local y ambas opciones trabajado
    • Estamos utilizando JDE 1.8, y estamos viendo precisamente este problema.
    • Estoy usando mvn 3.3.9 y jdk 1.8 y obteniendo el mismo error….ahora, ¿qué?
  2. 11

    Que el número de versión (51.0) indica que usted está tratando de ejecutar las clases compiladas para Java 7. Usted tendrá que volver a compilar ellos para Java 6.

    Nota, sin embargo, que algunas de las funciones pueden no ser compatibles con Java 6, que es muy viejo, y no hay más (de forma pública) soportados por Oracle.

    • Eres gracioso… la mayoría de govt aquí todavía el uso de java 6, de Hecho, apenas acabo de allí de java 4… fue estrecho de 4 a 6! (y tu comentario es del año pasado! 🙂
    • Me sale este error durante la compilación, no se ejecutará
  3. 4

    yo también enfrentan problema similar. Yo podría capaces de resolver mediante la configuración de entorno JAVA_HOME en la variable de Entorno en windows. Configuración de entorno JAVA_HOME en archivo por lotes no está trabajando en este caso.

  4. 1

    El problema es porque no has configurado el JDK versión correctamente.Usted debe utilizar el jdk 7 para mayor número 51. Como este:

    JAVA_HOME=/usr/java/jdk1.7.0_79

  5. 1

    Me encontré con el mismo problema. Puedo utilizar el jdk 1.8 y maven 3.3.9
    Una vez me export JAVA_HOME, no me aparece este error.
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contenido/Home/

    • Tengo el mismo JRE y mvn pero esto no funcionó, tengo el mismo error
  6. 0

    Tengo el mismo problema y resuelto mediante la adición de la variable de entorno JAVA_HOME con la versión actualizada de java en mi Máquina de Ubuntu(16.04).
    si está utilizando el «Apache Maven 3.3.9» Usted necesita actualizar su JAVA_HOME con java7 o más

    Paso para Hacer este

    1-sudo vim /etc/environment

    2-JAVA_HOME=Directorio de Instalación de JAVA (MyCase-/opt/dev/jdk1.7.0_45/)

    3-Ejecutar echo $JAVA_HOME dará el valor de set JAVA_HOME

    4-Ahora mvn -version dará la salida deseada

    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"

Dejar respuesta

Please enter your comment!
Please enter your name here