Eu instalei o java jdk hotspot 1.7. Quando digito java -version
, estou recebendo:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Isto está certo.
E eu tentei instalar o maven e adicionei ao /etc/environment
arquivo:
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
Agora, quando digito mvn, estou recebendo:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
No entanto, eu não estou colocando a marca "JAV_HOME var no arquivo de ambiente.
Está tentando fugir de
”/usr/lib/jvm/jdk1.7.0”/bin/java
caminho, na verdade deve ser
/usr/lib/jvm/jdk1.7.0/bin/java
Quando eu comando
$JAVA_HOME
Estou obtendo:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Estou certo de que o caminho ( /usr/lib/jvm/jdk1.7.0
) está correto.
java
environment-variables
Kamoliddin
fonte
fonte
ls -al /usr/lib/jvm
e confirmar que 'jdk1.7.0' é o formato para o nome do diretório? Ao usar o Oracle, eles tendem a usar nomes de pastas estranhosls /usr/lib/jvm/java-7
els "/usr/lib/jvm/java-7"/bin
rendimento, e deve produzir o mesmo resultado para mim (que não está vazio). A última parte, java-7, é o resultado de uma modificação manual - ela pode e será um pouco diferente para você. Verifique se essa pasta existe (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
após a execução destels -al /usr/lib/jvm
comandoecho $VARNAME
. Se você fizer$VARNAME
isso, ele executará o que está nessa variável.Respostas:
JAVA_HOME
deve ser definido como o nome do diretório que contém obin
diretório que contém os executáveis Java (em particular,java
ele próprio).Supondo que você tenha um
/usr/lib/jvm/jdk1.7.0
diretório, ele provavelmente contém umjre
subdiretório que contém obin
diretório que contémjava
e executáveis relacionados.Então você provavelmente deveria estar definindo
JAVA_HOME
para/usr/lib/jvm/jdk1.7.0/jre
e não/usr/lib/jvm/jdk1.7.0
.fonte
JAVA_HOME
sempre foi definido para o diretório pai, não para ojre
diretório$JAVA_HOME
para saber onde estãojavac
e outros binários de desenvolvimento, sim, será necessário defini-lo como ojdk
diretório que contém obin
diretório que contém esses binários./usr/lib/jvm/java
Deve ser suficiente para ambosjava
ejavac
. Alternativas cuida disso