your variable the not manually jdk java_home installed home higher found error ensure could and java ant environment-variables

variable - JAVA_HOME no apunta al JDK



path java jdk home (15)

Estoy tratando de seguir un tutorial sobre cómo usar ant para construir y ejecutar su aplicación. He seguido todos los pasos y he creado el archivo de compilación, pero cuando intento ejecutar ant, me da este error.

FALLO DE CONSTRUCCIÓN /home/bilal/tmp/ant/build.xml:19: No se puede encontrar un compilador javac; com.sun.tools.javac.Main no está en la ruta de clase. Quizás JAVA_HOME no apunta al JDK. Actualmente está configurado en "/ usr / lib / jvm / java-6-openjdk / jre"

¿Alguna idea de cómo resolver este problema?


Acabo de copiar el archivo tools.jar de la carpeta JDK / lib a la carpeta JRE / lib. Desde entonces funcionó como un campeón.


Ejecutar:

$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-3.b16.el6_9.x86_64

y establecer el entorno del sistema operativo:

vi /etc/environment

Luego sigue estos pasos:

  1. Presiona i
  2. Pegar

    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-3.b16.el6_9.x86_64

  3. Presione esc

  4. Presione: wq

El JAVA_HOME que tienes arriba solo apunta al JRE, que no contiene el compilador. Establezca su JAVA_HOME en

/usr/lib/jvm/java-6-openjdk

...e intenta de nuevo.


En Ubuntu 14.04, encontré dos partes para resolver el problema:

  1. Eliminar /jre de la variable de entorno. Para mí: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
  2. Instale el JDK así como el JRE: sudo apt-get install default-jdk

Encontré este problema en rhel, mi "JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk" (que es un enlace simbólico), y ant se queja.

MI solución para esto es usar la ruta jdk real en JAVA_HOME, como:

JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64

Esto funciona para mi.


Esto es por diseño. No puede usar java.home de java.home (que es una propiedad java.lang.System ) de manera intercambiable con la forma en que JAVA_HOME se configura en el entorno del sistema operativo. Probablemente esté intentando afirmar la ubicación del compilador de Java con un valor fundamentalmente diferente de una capa de propiedades diferente, es decir, java.home (desde los componentes internos de Java de Ant) apunta al entorno de ejecución de Java en <any_installed_java_pointed_to_by_ant>/jre mientras que JDK_HOME (desde el entorno del sistema operativo) generalmente se establece en <DOWNLOADED_AND_INSTALLED_JAVA_DEVELOPMENT_KIT> .

Vea mi pregunta y respuesta aquí para obtener más detalles: ¿Dónde establece Ant su ''java.home'' (y está mal) y se supone que debe agregar ''/ jre''?

La solución es acceder a la propiedad del entorno del sistema dentro de Ant usando ${env.JAVA_HOME} . Especifique qué java usar explícitamente en la Tarea Javac estableciendo la propiedad executable en la ruta javac y la propiedad de la fork en sí (consulte la Documentación de la Tarea Javac de Ant ). De esa manera, no importa qué entorno Java se esté ejecutando en el interior, ¡el compilador siempre está claramente especificado!


Estoy usando Windows 7 y he tenido problemas con el mismo problema. Lo arreglé cambiando mis variables de entorno.

Para cambiar sus variables de entorno haga clic aquí.

Agregué ";% JAVA_HOME% / bin" al final de la variable de rutas, agregué una nueva variable "JAVA_HOME" y establecí su valor en la ubicación de mi JDK "C: / Archivos de programa / Java / jdk1.8.0_11". Después de eso reinicié mi línea de comandos Node.js y funcionó.

Tenga en cuenta que el directorio JDK puede ser diferente al mío. También dependiendo de su configuración, es posible que deba reiniciar su computadora después de configurar las variables de entorno.


Experimentó este problema al intentar ejecutar el emulador de Android con Meteor 1.0 en OS Luna elemental (basado en fuentes Ubuntu 12.04 LTS).

Se instaló openjdk-6-jdk, así como el jre. Al final, sin esperar ningún éxito, lo intenté:

sudo apt-get remove openjdk-6-*

esto resultó en errores totalmente esperados, así que seguí con

sudo apt-get install openjdk-6-jdk

Y las cosas funcionaron. Imagínate.


Haga que la variable JAVA_HOME apunte a una instalación jdk , no jre .

Está haciendo referencia al entorno de ejecución, no al kit de desarrollo; no puede encontrar el compilador porque no está allí.

Desde la línea que publicaste, en qué estados tienes open-jdk puedes simplemente eliminar el jre al final:

export JAVA_HOME=''/usr/lib/jvm/java-6-openjdk/''


Has instalado java ...

apt-get install default-jre

Pero no el JDK ...

apt-get install default-jdk


Parece que actualmente estás apuntando JAVA_HOME a /usr/lib/jvm/java-6-openjdk/jre que parece ser un JRE no un JDK. Intente establecer JAVA_HOME en /usr/lib/jvm/java-6-openjdk .

El JRE no contiene el compilador de Java, solo el JDK (Java Developer Kit) lo contiene.


Sé que esta pregunta es antigua, pero la respuesta aceptada ya no funciona y, dado que este es el primer enlace en la búsqueda de Google, le diré cómo resolví este problema.

para eclipse usando ubuntu:

vaya a Ventana-> Preferencias-> Ant-> Tiempo de ejecución-> Seleccione Ant_Home_Entries y haga clic en agregar archivos externos, luego busque en el explorador de archivos donde se encuentra su jdk (el valor predeterminado está en / usr / lib / jvm /) y en la carpeta lib de su jdk encontrarás el tool.jar. Seleccione este y haga clic en Aplicar.

Intenta construir tu proyecto y las cosas deberían funcionar!

nota: no había usado ant durante mucho tiempo, pero lo necesitaba para el generador de carga de trabajo ycsb couchbase ( http://www.couchbase.com/wiki/display/couchbase/Load+Generator+Setup ) si alguien estaba / estaba atascado en esta.


Tuve un problema similar y resultó que el problema era tener las versiones 6 y 7 de OpenJDK. La respuesta proviene de r-senior en los foros de ubuntu ( http://ubuntuforums.org/showthread.php?t=1977619 ) --- simplemente desinstale la versión 6:

sudo apt-get remove openjdk-6-*

asegúrese de que JAVA_HOME y CLASSPATH no estén configurados para nada, ya que ese no es realmente el problema.


Una vez que actualice la ruta JAVA_HOME como se indica en la respuesta, debe hacer esto:

$source ~/.bashrc

Esto actualizará bashrc y mostrará la ruta actualizada en $ JAVA_HOME cuando vuelva a verificar.


para centos yum -y instale java-1.7.0-openjdk-devel.x86_64

y actualice JAVA_HOME = / usr / lib / jvm / java-1.7.0-openjdk.x86-64