Instalé java jdk hotspot 1.7. Cuando java -versionescribo 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/environmentarchivo:
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/jvmy 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-7yls "/usr/lib/jvm/java-7"/binceder, 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.0después de ejecutar estels -al /usr/lib/jvmcomandoecho $VARNAME. Si solo lo$VARNAMEhace, ejecutará lo que está en esa variable.Respuestas:
JAVA_HOMEdebe establecerse en el nombre del directorio que contiene elbindirectorio que contiene los ejecutables de Java (en particular, enjavasí mismo).Suponiendo que tiene un
/usr/lib/jvm/jdk1.7.0directorio, probablemente contiene unjresubdirectorio que contiene elbindirectorio que contienejavay los ejecutables relacionados.Por lo tanto, probablemente debería estar configurando
JAVA_HOMEen/usr/lib/jvm/jdk1.7.0/jrelugar de/usr/lib/jvm/jdk1.7.0.fuente
JAVA_HOMEsiempre se estableció en el directorio principal, no en eljredirectorio.$JAVA_HOMEpara saber dóndejavacy otros binarios de desarrollo, entonces sí, deberá configurarlo en eljdkdirectorio que contiene elbindirectorio que contiene esos archivos binarios./usr/lib/jvm/javadebería ser suficiente para ambosjavayjavac. Alternatives se encarga de esto