J'ai installé java jdk hotspot 1.7. Quand je tape, java -version
je reçois:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
C'est correct.
Et j'ai essayé d'installer maven, et j'ai ajouté au /etc/environment
fichier:
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
Maintenant, lorsque je tape mvn, je reçois:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
Cependant, je ne mets pas "mark for JAV_HOME var dans le fichier d'environnement.
Il essaie de fuir
”/usr/lib/jvm/jdk1.7.0”/bin/java
chemin, En fait, il devrait être
/usr/lib/jvm/jdk1.7.0/bin/java
Quand je commande
$JAVA_HOME
Je reçois:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Je suis sûr que le chemin ( /usr/lib/jvm/jdk1.7.0
) est correct.
java
environment-variables
Kamoliddin
la source
la source
ls -al /usr/lib/jvm
et confirmer que «jdk1.7.0» est le format du nom de répertoire? Lorsqu'ils utilisent Oracle, ils ont tendance à utiliser des noms de dossiers étrangesls /usr/lib/jvm/java-7
etls "/usr/lib/jvm/java-7"/bin
donner, et devrait donner le même résultat pour moi (qui n'est pas vide). La dernière partie, java-7, est le résultat d'une modification manuelle - elle peut et sera un peu différente pour vous. Vérifiez qu'un tel dossier 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
après avoir exécuté cettels -al /usr/lib/jvm
commandeecho $VARNAME
. Si vous le faites,$VARNAME
il exécutera le contenu de cette variable.Réponses:
JAVA_HOME
doit être réglé sur le nom du répertoire qui contient lebin
répertoire qui contient les exécutables Java (en particulier,java
lui - même).En supposant que vous ayez un
/usr/lib/jvm/jdk1.7.0
répertoire, il contient probablement unjre
sous-répertoire qui contient lebin
répertoire qui contientjava
et les exécutables associés.Donc , vous devriez probablement installerez
JAVA_HOME
à/usr/lib/jvm/jdk1.7.0/jre
plutôt que/usr/lib/jvm/jdk1.7.0
.la source
JAVA_HOME
a toujours été défini sur le répertoire parent, pas sur lejre
répertoire.$JAVA_HOME
pour savoir où se trouvent lesjavac
autres fichiers binaires de développement, alors oui, vous devrez le définir sur lejdk
répertoire contenant lebin
répertoire contenant ces fichiers binaires./usr/lib/jvm/java
devrait suffire pour les deuxjava
etjavac
. Alternatives s'en charge