Instalé java jdk hotspot 1.7. Cuando java -version
escribo me sale:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Esto es correcto.
E intenté instalar maven, y agregué al /etc/environment
archivo:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
MAVEN_HOME=/usr/local/apache-maven/apache-maven-3.0.4
M2=/usr/local/apache-maven/apache-maven-3.0.4/bin
Ahora cuando escribo mvn obtengo:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
Sin embargo, no estoy poniendo "marca para JAV_HOME var en el archivo de entorno.
Está tratando de huir de
”/usr/lib/jvm/jdk1.7.0”/bin/java
camino, en realidad debería ser
/usr/lib/jvm/jdk1.7.0/bin/java
Cuando mando
$JAVA_HOME
Estoy obteniendo:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Estoy seguro de que la ruta ( /usr/lib/jvm/jdk1.7.0
) es correcta.
java
environment-variables
Kamoliddin
fuente
fuente
ls -al /usr/lib/jvm
y confirmar que 'jdk1.7.0' es el formato para el nombre del directorio? Cuando usan Oracle, tienden a usar nombres de carpetas extrañosls /usr/lib/jvm/java-7
yls "/usr/lib/jvm/java-7"/bin
ceder, y debería dar el mismo resultado para mí (que no está vacío). La última parte, java-7, es el resultado de una modificación manual: puede y será un poco diferente para usted. Verifique que dicha carpeta exista (jdk1.7.0).total 44 drwxr-xr-x 3 root root 4096 Jun 28 01:57 . drwxr-xr-x 184 root root 36864 Jun 28 01:34 .. drwxr-xr-x 10 root root 4096 Jun 27 23:30 jdk1.7.0
después de ejecutar estels -al /usr/lib/jvm
comandoecho $VARNAME
. Si solo lo$VARNAME
hace, ejecutará lo que está en esa variable.Respuestas:
JAVA_HOME
debe establecerse en el nombre del directorio que contiene elbin
directorio que contiene los ejecutables de Java (en particular, enjava
sí mismo).Suponiendo que tiene un
/usr/lib/jvm/jdk1.7.0
directorio, probablemente contiene unjre
subdirectorio que contiene elbin
directorio que contienejava
y los ejecutables relacionados.Por lo tanto, probablemente debería estar configurando
JAVA_HOME
en/usr/lib/jvm/jdk1.7.0/jre
lugar de/usr/lib/jvm/jdk1.7.0
.fuente
JAVA_HOME
siempre se estableció en el directorio principal, no en eljre
directorio.$JAVA_HOME
para saber dóndejavac
y otros binarios de desarrollo, entonces sí, deberá configurarlo en eljdk
directorio que contiene elbin
directorio que contiene esos archivos binarios./usr/lib/jvm/java
debería ser suficiente para ambosjava
yjavac
. Alternatives se encarga de esto