Error al ejecutar el mensaje del compilador javac.exe mientras se usa Ant en Eclipse
build (15)
Arreglé el problema así:
Mi carpeta de inicio de Java tenía el camino equivocado. Debería haber sido C:/Program Files (x86)/Java/jdk1.5.0_15
pero en su lugar fue C:/Program Files (x86)/Java/jdk1.5.0_15/bin
.
Cuando ejecuto mi compilación de Ant en Eclipse, aparece el siguiente mensaje de error y la compilación de Ant falla.
Mensaje de error: Error al ejecutar el compilador javac.exe
Línea donde se detiene la construcción:
<javac destdir="${classes.home}" debug="on" fork="true" memoryinitialsize="512M" memorymaximumsize="1G">
<classpath refid="classpath"/>
<src path="${source.home}"/>
</javac>
¿Alguien ha enfrentado un problema similar antes? o alguien sabe lo que está mal aquí?
Información del sistema: Eclipse Helio, JDK 1.5
Configurar eclipse para que apunte a JDK en lugar de JRE no funcionó para mí. Con más investigación, resolví este problema al detener el proceso de compilación de la bifurcación. En su build.xml, elimine el atributo fork
de la etiqueta <javac>
.
Intenta liberar algo de memoria principal. Cierre los programas hambrientos de memoria y detenga los procesos hambrientos de memoria si puede.
Intente cambiar memorymaximumsize = "1G" por memorymaximumsize = "512M".
La respuesta aceptada no funcionó para mí. Pero hacer clic con el botón derecho en Ant y configurar Java Runtime Environment (JRE) en el Jave Development Kit (JDK) funcionó para mí.
La respuesta de Abhi Rampal es paso a paso de la misma manera que resolví el problema en mi eclipse.
Vaya a Ejecutar -> Herramientas externas -> Configuración de herramientas externas -> seleccione su build.xml en el menú de la izquierda -> seleccione la pestaña JRE -> seleccione el JDK (del menú desplegable) para la opción del botón de radio Separar JRE -> Haga clic en Ejecutar.
Lo he intentado todo, pero nada funcionó para mí hasta que lo configuré ( fork = ''no'' o fork = ''false'' en su caso) y me funcionó perfectamente.
Me enfrenté al mismo problema, y aquí está mi consejo, tal vez ayude a alguien.
De hecho, el mensaje Error running javac.exe compiler
significa que algo salió mal. La pregunta es, ¿qué exactamente. Cuando Ant ejecuta la tarea javac
con el indicador fork="true"
, no imprime ningún detalle de error. En mi caso, no los imprimió incluso después de agregar verbose="true"
, como se sugiere here . La solución fue agregar el indicador -verbose a la línea de comando de Ant :
ant -verbose
Después de esto, Ant comienza a imprimir mensajes de error completos, por lo que puede solucionar un problema.
Nos topamos con el mismo problema en una máquina de compilación de Windows mientras que localmente (en una máquina de Unix) todo funcionó. Fork = true tampoco ayudó, dio como resultado una excepción fallida en el fork de proceso también solo en el servidor de compilación
Investigación
Después de algunas investigaciones, tuvimos una pista de que la ruta de clase podría ser demasiado larga. Reconstruimos la estructura exacta de la carpeta localmente en una máquina con Windows, tuvimos el mismo problema y vimos que la ruta de clase era demasiado larga (usamos -v y -d para obtener información sobre el tiempo que duró) y esta fue la causa del error. .
Solución
La solución fue crear un jar, que contiene solo el manifiesto con todas las bibliotecas, vea esta respuesta para más detalles.
Quité fork = "true" y superé ese fragmento de código. Lo que podría ser interesante para aquellos de ustedes que tienen este problema es que ahora, en esa línea, obtengo el resultado:
''Since fork is false, ignoring memoryMaximumSize setting.''
Por lo tanto, puede ser un problema con memoryMaximumSize si necesita mantener su configuración de fork = "true", como se sugirió anteriormente.
Resolví esto comprobando mis Variables de entorno en mi Windows 7. Encontré que JAVA_HOME apunta a C: / Archivos de programa (x86) / Java / jdk1.6.0_31 cuando se supone que es C: / Archivos de programa / Java / jdk1.6.0 _31. Si quieres saber como leer esto.
Si está ejecutando ant en eclipse, haga clic en ejecutar como -> Ant segunda opción y elija la ruta JDK y ejecute la compilación nuevamente.
Si la respuesta aceptada arriba no resuelve el problema por usted (como no lo hizo por mí), después de actualizar java.home a JDK en lugar de JRE como se sugiere en la respuesta aceptada arriba, vaya a Ejecutar -> Herramientas externas - > Configuración de herramientas externas -> seleccione su build.xml en el menú de la izquierda -> seleccione la pestaña JRE -> seleccione el JDK (del menú desplegable) para la opción del botón de radio Separar JRE -> Haga clic en Ejecutar.
Esto debería solucionar el problema.
Tal vez el problema de javac se deba a que "javac.exe" no se encuentra en la RUTA del sistema, edite la ruta de su sistema y agregue el directorio / bin de su JDK para corregir este problema.
Abra un shell o un símbolo del sistema e intente escribir: javac para comprobar si la ruta del sistema está configurada correctamente.
Tuve el mismo problema y el problema era que, en eclipse java.home se refería a JRE en lugar de JDK. Lo cambié y la construcción fue exitosa. Puedes hacer lo siguiente para cambiarlo a JDK:
Preferencias> Java> JRE instalados> Agregar ... Para ''Tipo de JRE'' seleccione ''VM estándar''> Siguiente> Directorio: seleccione su directorio JDK (en lugar de JRE) (en mi caso: C: / Archivos de programa / Java / jdk1. 6.0_16), presione OK.
Ahora, ha vuelto a ''JRE''s instalados'', seleccione el JDK aquí también.
El siguiente post ayudó a encontrar la solución. JAVA_HOME apunta al lugar equivocado
Tuve el mismo problema y eliminé el atributo fork de javac y el problema desapareció.