java java-ee ant

Ant build no funciona: no se puede encontrar un compilador javac



java-ee (7)

Consiguió este error en la línea de comandos de Ant en el sistema Windows 7 x64.

Debajo del cambio arreglado el problema

Instaló JDK desde los servidores de Oracle y luego agregó una nueva variable de sistema JAVA_HOME con el valor C: / Archivos de programa / Java / jdk1.8.0_131

Estoy tratando de ejecutar algunos ejemplos de Java EE. Ant está sugiriendo: Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:/Program Files/Java/jre7 Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:/Program Files/Java/jre7

Mi variable JAVA_HOME es: C:/Program Files/Java/jdk1.7.0_03 cuando miro mis variables de Windows 7

Sin embargo, mi ruta es (observe el jdk1.6.0_26):

%M2_HOME%/bin;%ANT_HOME%/bin;%JAVA_HOME%/bin;%SystemRoot%/system32;%SystemRoot%; %SystemRoot%/System32/Wbem;%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/; C:/Program Files/Microsoft Application Virtualization Client;%M2%; C:/Program Files/QuickTime/QTSystem/;C:/Program Files/TortoiseSVN/bin; %GLASSFISH%;%GLASSFISH_PARENT%; PATH=C:/Maven/apache-maven-2.2.1/bin;C:/Ant/apache-ant-1.8.2/bin;**C:/Program File s/Java/jdk1.6.0_26/bin;**C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C :/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files/Microsoft Applicatio n Virtualization Client;C:/Maven/apache-maven-2.2.1/bin;C:/Program Files/QuickTi me/QTSystem/;C:/Program Files/TortoiseSVN/bin;C:/glassfish3/glassfish/bin;C:/gla ssfish3/bin;C:/Sun/jwsdp-2.0/jwsdp-shared/bin

¿Tengo que hacer algo especial para que Windows guarde mi ruta?

Más información:

C:/javaeetutorial5/examples/web/hello2>ant Unable to locate tools.jar. Expected to find it in C:/Program Files/Java/jre7/li b/tools.jar Buildfile: C:/javaeetutorial5/examples/web/hello2/build.xml -pre-init: init: default-ear: -pre-compile: bpp-actual-compilation: [echo] Compiling hello2 [echo] javaee.classpath.prefix is: C:/glassfish3/lib [echo] is.glassfish.v3 is: ${is.glassfish.v3} [javac] C:/javaeetutorial5/examples/bp-project/command-line-ant-tasks.xml:93 : warning: ''includeantruntime'' was not set, defaulting to build.sysclasspath=las t; set to false for repeatable builds BUILD FAILED C:/javaeetutorial5/examples/bp-project/command-line-ant-tasks.xml:93: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:/Program Files/Java/jre7" Total time: 0 seconds


Cuando hace clic en el siguiente botón en la ventana Tipo de JRE después de seleccionar la VM estándar, va a la siguiente ventana llamada Definición de JRE, donde puede encontrar el botón Directorio.


Cuando tenga JRE y JDK instalados en su sistema, asegúrese de que JDK aparezca primero en su variable PATH.

Creo que el sistema escanea la variable PATH de izquierda a derecha, lo que venga primero se toma en consideración.

En mi caso (con LinuxMint) estaba recibiendo el mismo error. Cuando agregué JDK en la variable PATH antes de JRE, resolví mi problema.


El trabajo rápido alrededor para el mismo es

Copie C: / Archivos de programa / Java / jdk1.7.0_03 / lib / tools.jar en C: / Archivos de programa / Java / jre7 / lib /

Esta excepción se produce porque JAVA_HOME se está configurando como C: / Archivos de programa / Java / jre7 y Ant no puede encontrar herramientas.jar en ella.


En Windows, vaya a Propiedades del equipo, Configuración avanzada del sistema, Avanzado, Variables de entorno.

Agregue una variable del sistema llamada "JAVA_HOME" y establezca su carpeta en su ubicación JDK en mi caso "C: / Archivos de programa / Java / jdk1.7.0_51"

Cierre el símbolo del sistema, vuelva a abrirlo y debería funcionar ahora.


Para eclipse

  • Haga clic con el botón derecho en build.xml ---> Build path ---> configure buildpath ---> seleccione la pestaña de bibliotecas
  • haga clic en "Agregar biblioteca" ---> haga doble clic en [biblioteca del sistema jre] ---> ambientes ---> jres instalado ---> Agregar ---> vm estándar
  • haga clic en el directorio ---> Examinar hasta jdk [C: / Archivos de programa / Java / jdk1.7.0_01]
  • terminar
  • cambie la selección jre a jdk ---> haga clic en ok

Recibí el mismo error en Mac OS X, pero todas las respuestas que pude encontrar fueron para el sistema Windows y, como las rutas son un poco diferentes en ambas, esas soluciones no funcionaron para mí. Después de pasar horas en él, finalmente pude arreglarlo de la siguiente manera:

Copie /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/lib/tools.jar en /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/ext

También funcionará para los usuarios de Windows:

Copie C: / Archivos de programa / Java / jdk1.8.0_91 / lib / tools.jar en C: / Archivos de programa / Java / jre8 / lib / ext

PD También tenga cuidado de que las versiones para jdk y jre que ha seleccionado en Eclipse sean compatibles.