java eclipse ant eclipse-mars

Ejecutar Ant en Eclipse Mars con Java 1.6



eclipse-mars (7)

Descargué la última versión de Eclipse (Mars) y cambié la versión de Java requerida a 1.6 en el archivo eclipse.ini ya que mi proyecto usa Java 1.6.

Configuré JREs instalados dentro de Eclipse para usar Java 1.6. Pero cuando intento ejecutar mi objetivo ant, se crea un error:

La versión de JRE inferior a 1.7 no es compatible.

¿Hay alguna solución alternativa para usar Java 1.6 en la versión de Mars porque no puedo actualizar a Java 1.7 en este momento?



El Java que usa para ejecutar Eclipse no tiene que ser el mismo que el que usa para sus proyectos. Debe ejecutar Eclipse Mars utilizando Java 7 (u 8), pero puede usar Java 6 para sus proyectos.

Informe a Eclipse sobre Java 6 en Preferencias en ''Java> JRE instalados'' y configúrelo como predeterminado (o selecciónelo en proyectos individuales).


Me enfrenté al mismo problema después de actualizar a Eclipse Mars.

Resolví esto cambiando el entorno de ejecución de la configuración de la herramienta externa del proyecto a JDK7 .

Supongo que sabe cómo agregar JDK7 a su jre instalado en eclipse

Abra Configuraciones de herramientas externas ... y luego cambie el JRE a JDK 1.7

Entonces cambia el JRE

Pero esto creará otro problema , el jar compilado estará en JDK 7 y esto no funcionará en servidores de producción con JDK6.

Para resolver esto, simplemente cambie el atributo de destino en la tarea para que sea 1.6

<javac target = "1.6">

Según lo sugerido por @dag y @Chris, aquí se actualiza ant javac task.


No, no puedes ir a JDK1.6 o menos porque Eclipse Mars solo se ejecuta con Java> = 1.7. Consulte this enlace.


Recientemente me encontré con este problema con Java 8 en mi máquina, usando Elicpse Oxygen y tratando de usar Ant para construir un proyecto Java 6. Utilicé algunas sugerencias arriba pero también encontré algún comportamiento extraño durante el proceso de construcción de Ant. Al final funcionó, aquí estaban mis pasos:

1) Java se quedó apuntando a Java 8.

2) Establezca en el script Ant los valores sugeridos por @Chris.

3) No cambie el JRE de Ant Runtime, el mío se quedó en 8 y, de hecho, no ejecutaría la compilación de Ant si lo cambiara a 6 ...

4) La configuración del proyecto construyó la ruta y los niveles del compilador se establecieron en 6.

5) Ejecutar la construcción.

Esto produce una compilación en el nivel Java 6 que funcionó para mí.


Tengo Eclipse Oxygen ejecutándose en JRE 1.8, pero jdk1.7.0_40 algunos proyectos 1.7 antiguos, e jdk1.7.0_40 como un JRE independiente y lo configuré en la configuración externa de las herramientas, pero aún tengo el error "jre menos de 1.8 no compatible".

Lo que lo arregló para mí fue simplemente actualizar la configuración de la compilación xml directamente, especialmente si tienes otro proyecto que funciona y puedes copiarlo.

Específicamente, fui a las configuraciones de lanzamiento en:

workspace/.metadata/.plugins/org.eclipse.debug.core/.launches

Y editó el correspondiente archivo ...build.xml.launch , reemplazando:

<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/> <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_40"/>

Con:

<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_NAME" value="jdk1.7.0_40"/> <stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_TYPE_ID" value="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>

Y reinicie Eclipse para recogerlo.

No tengo idea si esto está avanzando o retrocediendo en términos de soporte de Eclipse, pero solucionó mi problema.