2010-01-27 23 views
5

Estoy desarrollando una aplicación en cacao que usa algunas clases Java. Recibo un error "JAVA_HOME no está definido correctamente No podemos ejecutar /System/Library/Frameworks/JavaVM.framework/Home /bin/java".I no saben cómo resolver this..Please alguien me ayude ..JAVA_HOME no se ha definido correctamente Error al compilar

Gracias de antemano

Respuesta

2

Establecer JAVA_HOME para que apunte al directorio .../Home, no el java binario. P.ej.

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home 

¿Por qué establece la variable de entorno en primer lugar? Usted no debería tener que hacer esto en OS X ...

+0

Es necesario, por ejemplo, cuando se ejecutan los scripts de creación de hormigas. –

20
export JAVA_HOME=`/usr/libexec/java_home` is exactly what you want to do. 

De hecho, todos los proyectos de Apache (bueno, cualquier proyecto en realidad) que hardcodes /System/Library/Frameworks/JavaVM.framework/Versions/... necesita usar/usr/libexec/java_home si existe. Es la única forma en que sabrás si Java está realmente instalado.

En algún momento en el futuro, los enlaces simbólicos en /System/Library/Frameworks/JavaVM.framework/Versions/ se irán, lo que incluso más gravemente romperá estos proyectos si quieren cargar utilizando una JVM de Oracle/OpenJDK .

+0

Muchas gracias :) ¿Sabe, por casualidad, por qué no se pueden usar comillas dobles/rectas? – pasql

+0

¿Será esto persistente entre reinicios? –

0

En su archivo .bashrc, añadir debajo de las líneas:

export JAVA_HOME=/usr 
export PATH=$PATH:$JAVA_HOME 

Esto funcionó para mí.

0

Algunas veces cambiando Java_Home no ayuda, ya que en la escritura de la hormiga de Apache inicio_java es codificado. Si cuando se cambia el JAVA_HOME aún no puede ejecutar hormiga, se puede tratar de cambiar la hardcode por defecto a su JAVA_HOME en escritura de hormigas, como:

$ vi /Users/apache-ant-1.8.3/bin/ant 
    #ant from line 83 to 93 
    case "`uname`" in 
     CYGWIN*) cygwin=true ;; 
     Darwin*) darwin=true 
       if [ -z "$JAVA_HOME" ] ; then 
#delete JAVA_HOME=XXXXX(default line) , and give JAVA_HOME ur java home url  




JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home 
          fi 
          ;; 
        MINGW*) mingw=true ;; 
       esac 
Cuestiones relacionadas