¿Por qué Ant me está dando un error de versión major.minor no compatible?

Estoy ejecutando este objective en Ant.

    

Me está dando este error.

 C: \ Users \ .. \ workspace \ .. \ build.xml: 21: java.lang.UnsupportedClassVersionError: 
     com / sun / tools / javac / Main: versión major.minor no compatible 51.0

Aquí están las versiones:

 Apache Ant(TM) version 1.8.2 JDK version is JDK 1.7.0 

Aquí está mi configuración de comstackdor en Eclipse.

enter image description here

Por favor, ayúdame a resolverlo.

Compruebe si tools.jar utilizado durante la comstackción cumple con el conjunto JRE. Si está en eclipse, verifique las versiones como:
Ir a ventana-> Preferencias
– Compruebe Ant Runtime seleccionando Runtime bajo Ant en el panel izquierdo. Verifique las entradas globales en la pestaña classpath. Puede ver la versión en la ruta de la carpeta.
– En el panel izquierdo, compruebe los JRE instalados en Java. Mira esta versión.
También tuve el mismo problema cuando mi JRE seleccionado era 1.6.0_24 y tools.jar en el tiempo de ejecución de Ant provenía de jdk 1.7. Si ambos son de versiones diferentes- 1.6 / 1.7, corríjalos corrigiendo su ruta. Normalmente, tools.jar se puede encontrar en: C: \ Program Files \ Java \ jdk1.xx \ lib. Del mismo modo, si es necesario, agregue el JRE señalando C: \ Program Files \ Java \ jdk1.xx \

La jre de tiempo de ejecución se estableció en jre 6 en lugar de jre 7 en la ventana de configuración de comstackción.

  1. Compruebe si tiene jdk instalado en la ruta “C: \ Archivos de progtwig \ Java” Si no, instale el JDK en su máquina

  2. En Eclipse, haga clic derecho en “build.xml” y luego seleccione Ejecutar como> Configuración de herramientas externas

  3. Haga clic en la pestaña ” JRE ” y luego haga clic en ” JRE instalados”> “AGREGAR”> “VM estándar”> Haga clic en “Siguiente”

  4. Seleccione el directorio “C: \ Archivos de progtwig \ Java \ jdk1.7.x_xx” y el directorio se agregará a la “jres instalada”

  5. Seleccione el nuevo directorio JDK y haga clic en “Aceptar”

  6. Haga clic en el menú desplegable “Seperate JRE” y seleccione la versión de JDK “jdk1.7.x_xx ” y haga clic en ” Ejecutar “.

Esto ayudaría 🙂

Debería indicar qué versión de Ant y qué versión de JVM.

Puede ejecutar ant -v para ver qué configuración usa Ant según el documento

Ant 1.8 * requiere JDK 1.4 o superior.

La ‘Versión principal no compatible 51min’ significa que se compiló un código para una versión del JDK, y que está tratando de ejecutar esas clases bajo una versión anterior del JDK. (ver aquí )

Una posible causa de esto es un JRE incorrecto seleccionado en las opciones de comstackción Ant. Después de hacer clic derecho en build.xml y elegir ‘Ejecutar como …’ y luego ‘Ant Build …’, asegúrese de que se elija el JRE correcto en la pestaña JRE del cuadro de diálogo de opciones de configuración. Verá una opción ‘JRE separado’; asegúrese de seleccionar el jdk apropiado del menú desplegable antes de hacer clic en ‘Ejecutar’.

Descargue la versión JDK del JRE a los JRE instalados y use eso en su lugar.
En Eclipse Indigo, si comprueba la pestaña classpath en la configuración de ejecución para ant, verá que de forma predeterminada agrega las herramientas.jar del sistema. Entonces, si ejecuta Eclipse usando Java7 y ejecuta una comstackción ant con un JRE6 por separado genera un UnsupportedClassVersionError. Cuando agregué la versión de JDK, Eclipse recogió tools.jar del JDK y mi tarea ant se ejecutó correctamente.

Me encuentro con el mismo problema. Luego entré en Ejecutar como -> Ant build …-> jre. Encontré que la jre utilizada es JRE por separado, que es el eclipse predeterminado JRE (1.6). Luego fui a las periferias -> instalé los JRE. Y cambie la ubicación del eclipse JRE predeterminado a mi jdk (1.7).

El problema esta resuelto.

Me gustaría agregar mis resultados aquí para ayudar a otros, ya que si bien es relevante, ninguno de ellos resolvió mi problema.
Tuve la situación única en la que pasé del taller para weblogic 9.2 a Helios con JDK6. Sin embargo, nuestros expertos en seguridad nos empujaron a JDK7, lo que obligó a mi mano a ir a Indigo.

Al final utilicé el explorador de procesos sysinternals para encontrar si algo estaba usando actualmente la carpeta JDK6 que todavía existía en mi sistema. Efectivamente era Eclipse. Abrí eclipse.ini y la segunda línea hacía referencia al JDK6, lo reemplacé por el directorio JDK7, inicié Eclipse y la comstackción tuvo éxito.

Si obtiene este error porque intenta construir a Java 6 intencionalmente, pero tiene Java 7 en otro lugar en Eclipse, puede ser porque está haciendo referencia a un Java tools.jar en un entorno Java 6.

Tendrá que instalar el JDK 6 ( no JRE) y agregar el JRE 6 tools.jar como entrada de usuario en el Classpath de la configuración de comstackción, que se encuentra arriba de JRE 7 tools.jar .

En mi caso, el proyecto era un Maven, tenía JDK 1.8.0, Eclipse: Kepler e instalé el plugin M2Eclipse de Eclipse Marketplace.

Cambiar el nivel del comstackdor no ayudó.

Finalmente utilicé la última versión de eclipse (Luna), comstackdor nivel 1.7, el mismo complemento M2Eclipse y el problema fue resuelto.

ir a ejecutar la opción —> seleccionar la opción de herramienta externa —-> configuración de herramienta externa —> seleccionar construcción de ant —-> seleccionar tu build.xml —> allí encontrarás la opción JDK — > seleccione su JRE requerido

Simplemente revisa tu tiempo de ejecución yendo a la configuración de comstackción de ant y cambia el jre contra a jdk (si jdk 1.7 entonces jre debería ser 1.7).

enter image description here