¿Cómo cambio JAVA_HOME para hormiga?

votos
27

Estoy haciendo Java en un servidor de clase donde no tengo root. Cada vez que intento compilar usando hormiga, apunta al directorio incorrecto (en /usr/tomcatlugar de /usr/tomcat/jre).

Una de las cosas que se nos dijo que hiciéramos al configurar nuestras cuentas de usuario fue agregar export JAVA_HOME=/usr/tomcat/jreal archivo .bashrc. No sé si se suponía que eso resolvería el problema, pero parece que no.

Entonces, ¿cómo puedo cambiar la propiedad JAVA_HOME para hormiga pero solo cuando ejecuto hormiga?

EDITAR: echo $JAVA_HOMEapunta a /usr/tomcat/jre echo $JAVA_HOME\binpuntos a/usr/tomcat/jrebin

El problema es cuando normalmente corro y obtengo este error:

Unable to locate tools.jar. Expected to find it in /usr/tomcat/lib/tools.jar
Buildfile: build.xml

compile:
    [javac] Compiling 1 source file to /home/ejm244/build/classes

BUILD FAILED
/home/ejm244/build.xml:9: 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

Total time: 0 seconds
Publicado el 21/02/2009 a las 14:39
por usuario
En otros idiomas...                            


14 respuestas

votos
6

JAVA_HOME debe señalar dónde está instalado el JDK, no un JRE.

Entonces, si escribe ls $ JAVA_HOME, ¿qué ve? si haces ls $ JAVA_HOME / bin / ¿ves javac?

Si el primero no funciona, entonces no tiene JAVA_HOME apuntando al directorio correcto. Si el segundo no funciona, debe apuntar a JAVA_HOME en un JDK en lugar de un JRE.

Respondida el 21/02/2009 a las 14:43
fuente por usuario

votos
9

Puede crear su propio script para ejecutar hormiga, por ejemplo, llamado ant.sh como:

#!/bin/sh
JAVA_HOME=</path/to/jdk>; export JAVA_HOME
ant [email protected]

y luego ejecuta tu script

$ chmod 755 ant.sh
$./ant.sh clean compile

o cualquier objetivo de hormiga que desee ejecutar

Respondida el 21/02/2009 a las 14:45
fuente por usuario

votos
5

Al mirar el script de shell para invocar hormiga, es posible que el valor de $ JAVA_HOME establecido para su shell en .bashrc se pueda anular en los archivos /etc/ant.conf, $ HOME / .ant / ant.conf y $ INICIO / .antrc. Si ejecuta bash -x <path to ant script>, emitirá información de depuración que debería ayudarlo a localizar dónde $ JAVA_HOME está siendo anulado.

Respondida el 21/02/2009 a las 20:38
fuente por usuario

votos
1

JAVA_HOME necesita apuntar a un hogar JDK si está intentando compilar el código. Verifique si '/ usr / tomcat / jre / bin / javac' existe. Dudo que lo haga.

Si no tiene un JDK, puede solucionarlo obteniendo la biblioteca ECJ (compilador de eclipse), soltándola en '~ / .ant / lib' y agregando una propiedad del sistema a la línea de comando para usar ese compilador. - verifique el manual de Ant para más detalles.

http://ant.apache.org/

Respondida el 21/02/2009 a las 23:30
fuente por usuario

votos
1

Cuando usas Bash simplemente prueba esto:

$ export JAVA_HOME=/usr/tomcat/jre
Respondida el 22/02/2009 a las 02:35
fuente por usuario

votos
0

Deberá cambiar la ruta JAVA_HOME al directorio Java SDK en lugar del directorio Java RE. En Windows puede hacer esto usando el comando set en el símbolo del sistema.

p.ej

establecer JAVA_HOME = "C: \ Archivos de programa \ Java \ jdk1.6.0_14"

Respondida el 02/06/2009 a las 06:25
fuente por usuario

votos
4

En la configuración de mi máquina de Windows 7:

JAVA_HOME = "C: \ Archivos de programa \ Java \ jdk1.6.0_18" 

no funcionó. Pero el establecimiento de:

JAVA_HOME = C: \ Archivos de programa \ Java \ jdk1.6.0_18

trabajó.

Respondida el 14/03/2010 a las 20:27
fuente por usuario

votos
1

Establecer el JRE en el proyecto (propiedades del proyecto -> Java Build Path-> Bibliotecas, típicamente última entrada), o por defecto en las preferencias globales (Java-> JRE instalados) a un JDK, no un JRE.

Respondida el 06/10/2010 a las 12:30
fuente por usuario

votos
-1

inicio_java siempre apunta a la JDK, el compilador que le dio las clases, y el JRE es la forma THW que su navegador o cualquier cosa que las clases compiladas por lo que deben tener correspondencia entre JDK y JRE en la versión.

Respondida el 20/09/2011 a las 12:43
fuente por usuario

votos
3

Ajuste el env var: JAVACMD - ruta completa del ejecutable de Java. Use esto para invocar una JVM diferente que JAVA_HOME / bin / java (.exe).

Referencia: http://ant.apache.org/manual/running.html

Respondida el 25/01/2012 a las 10:22
fuente por usuario

votos
3

Aunque la variable de entorno JAVA_HOMEconfigurado correctamente, la antpuede usar el JRE configurado dentro de la cada build.xml o cualesquiera ficheros de construcción.

Para comprobar qué versión del JRE la hormiga está utilizando, haga clic derecho sobre el fichero de construcción -> seleccione la hormiga de construcción que muestra los detalles acerca de las tareas para elegir etc, seleccionar el JRE que desea utilizar.

Su recomendable utilizar los ajustes de nivel de proyecto o simplemente a nivel de espacio de trabajo.

Respondida el 01/04/2012 a las 13:39
fuente por usuario

votos
0

tratar con esto:

/usr/sbin/update-alternatives --config java
Respondida el 24/08/2012 a las 08:12
fuente por usuario

votos
0

Cuando se ejecuta la hormiga de la cáscara, que no es necesario export JAVA_HOMEen primer lugar, que fijaría esa variable para el shell actual y todos los comandos futuros, en lugar de utilizar

[email protected]:~# JAVA_HOME=/path/to/jdk ant targets
Respondida el 17/03/2013 a las 01:47
fuente por usuario

votos
3

Hay 2 maneras de cambiar el compilador:

  • export JAVA_HOME=/path/to/jdk antes de empezar a Ant.
  • Conjunto <javac exectuable="/path/to/javac">

Otra opción sería añadir un respectivo tools.jara la ruta de clase, pero ese camino es la dosis usual si la hormiga se inicia desde otras herramientas como Maven.

Para mayor información sobre estas (y otras) las opciones de cambio de compilador de Java en hormiga, consulte este artículo , por ejemplo.

Respondida el 25/01/2015 a las 17:33
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more