java - "No se puede encontrar tools.jar" cuando se ejecuta hormiga
ant java-home (5)
Hay dos directorios que se parecen a JDK.
C:/Program Files/Java/jdk1.7.0_02
C:/Program Files (x86)/Java/jdk1.7.0_02/
¿Esto puede deberse a que se instalaron JDK de 64 y 32 bits? Cualquiera que sea el caso, java.exe
visto por ant.bat debería ser del JDK. Si el java.exe
de JRE aparece primero en la ruta, se usará para adivinar la ubicación de JDK.
Coloque ''C: / Archivos de programa (x86) / Java / jdk1.7.0_02 / bin'' o ''C: / Archivos de programa / Java / jdk1.7.0_02'' como primer argumento en la ruta.
Pasos adicionales:
Puede tomar la salida de los ant -diagnostics
de ant -diagnostics
y buscar claves interesantes. (suponiendo Sun / Oracle JDK).
java.class.path
java.library.path
sun.boot.library.path
(en mi caso, tools.jar aparece en java.class.path)
Esta pregunta ya tiene una respuesta aquí:
- No se han podido encontrar tools.jar 24 respuestas
Cuando ejecuto hormiga, recibo el siguiente mensaje:
Unable to locate tools.jar. Expected to find it in C:/Program Files/Java/jre6/lib/tools.jar
Tengo JAVA_HOME establecido en C:/Program Files/Java/jdk1.7.0_02
, PATH incluye C:/Program Files (x86)/Java/jdk1.7.0_02/bin
, CLASSPATH incluye C:/Program Files (x86)/Java/jdk1.7.0_02
y ANT_HOME está establecido en C:/ant
.
Parece que la hormiga está ignorando todas estas configuraciones y está buscando las herramientas.jar en otro lugar. No hay variables de entorno que apunten a la ruta jre6. ¿Alguna idea de por qué?
Intente verificarlo una vez más de acuerdo con este tutorial: http://vietpad.sourceforge.net/javaonwindows.html
Intenta reiniciar tu sistema.
Si nada, intente ejecutar "cmd" y escriba "java", ¿imprime algo?
El orden de los elementos en el PATH importa. Si hay varias entradas para varias instalaciones de Java, se usará la primera en su PATH.
He tenido problemas similares después de instalar un producto, como Oracle, que dice JRE al comienzo de PATH.
Asegúrese de que el JDK que desea cargar sea la primera entrada en su PATH (o al menos que aparezca antes de que aparezca C:/Program Files/Java/jre6/bin
).
También estaba teniendo el mismo problema. Así que eliminé la ruta JDK desde el final y la puse en marcha incluso antes de todas las rutas del Sistema o Windows 32.
Antes era así:
C: / Windows / system32; C: / Windows; C: / Windows / System32 / Wbem; C: / Windows / System32 / WindowsPowerShell / v1.0 /; C: / Archivos de programa / Microsoft SQL Server / 100 / Tools / Binn /; C: / Archivos de programa / Microsoft SQL Server / 100 / DTS / Binn /; C: / Archivos de programa / Microsoft SQL Server / 100 / Tools / Binn / VSShell / Common7 / IDE /; C: / Users / Rajkaran / AppData / Local / Smartbar / Application /; C: / Users / Rajkaran / AppData / Local / Smartbar / Application /; C: / Program Files / doxygen / bin; % JAVA_HOME% / bin ;% ANT_HOME% / bin
Así que lo hice así:
% JAVA_HOME% / bin ; C: / Windows / system32; C: / Windows; C: / Windows / System32 / Wbem; C: / Windows / System32 / WindowsPowerShell / v1.0 /; C: / Archivos de programa / Microsoft SQL Server / 100 / Tools / Binn /; C: / Archivos de programa / Microsoft SQL Server / 100 / DTS / Binn /; C: / Archivos de programa / Microsoft SQL Server / 100 / Tools / Binn / VSShell / Common7 / IDE /; C: / Users / Rajkaran / AppData / Local / Smartbar / Application /; C: / Users / Rajkaran / AppData / Local / Smartbar / Application /; C: / Archivos de programa / doxygen / bin;% ANT_HOME% / bin
Asegúrese de usar la carpeta raíz del JDK. No agregue "/ lib" al final de la ruta, donde tools.jar está ubicado físicamente. Me llevó una hora descubrirlo. Además, esta publicación ayudará a mostrarle dónde Ant está buscando tools.jar:
¿Por qué ANT me dice que JAVA_HOME está equivocado cuando no es así?