Ich habe Java JDK Hotspot 1.7 installiert. Wenn ich tippe, java -version
bekomme ich:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Das ist richtig.
Und ich habe versucht, Maven zu installieren, und zur /etc/environment
Datei hinzugefügt :
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
Wenn ich jetzt mvn tippe, bekomme ich:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
Ich setze jedoch keine Markierung für JAV_HOME var in die Umgebungsdatei.
Es versucht zu fliehen
”/usr/lib/jvm/jdk1.7.0”/bin/java
Weg, Eigentlich sollte es sein
/usr/lib/jvm/jdk1.7.0/bin/java
Wenn ich befehle
$JAVA_HOME
Ich bekomme:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Ich bin sicher, dass der Pfad ( /usr/lib/jvm/jdk1.7.0
) korrekt ist.
java
environment-variables
Kamoliddin
quelle
quelle
ls -al /usr/lib/jvm
und bestätigen, dass "jdk1.7.0" das Format für den Verzeichnisnamen ist? Bei der Verwendung von Oracle werden häufig seltsame Ordnernamen verwendetls /usr/lib/jvm/java-7
undls "/usr/lib/jvm/java-7"/bin
ergeben, und sollte das gleiche Ergebnis für mich ergeben (die nicht leer ist). Der letzte Teil, Java-7, ist das Ergebnis einer manuellen Änderung - es kann und wird für Sie ein bisschen anders sein. Stellen Sie sicher, dass ein solcher Ordner existiert (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
nach dem Ausführen diesesls -al /usr/lib/jvm
Befehlsecho $VARNAME
. Wenn Sie dies einfach tun$VARNAME
, wird ausgeführt, was in dieser Variablen enthalten ist.Antworten:
JAVA_HOME
sollte auf den Namen des Verzeichnisses festgelegt wird, enthält dasbin
Verzeichnis , das enthält das Java - Executables (insbesonderejava
selbst).Vorausgesetzt, Sie haben ein
/usr/lib/jvm/jdk1.7.0
Verzeichnis, enthält es wahrscheinlich einjre
Unterverzeichnis, das dasbin
Verzeichnisjava
mit den zugehörigen ausführbaren Dateien enthält .So werden Sie wahrscheinlich werden Einstellung sollte
JAVA_HOME
auf/usr/lib/jvm/jdk1.7.0/jre
statt/usr/lib/jvm/jdk1.7.0
.quelle
JAVA_HOME
aber immer auf das übergeordnete Verzeichnis gesetzt, nicht auf dasjre
Verzeichnis.$JAVA_HOME
zu wissen, wo sich diejavac
Binärdateien und andere Entwicklungsdateien befinden, müssen Sie sie auf dasjdk
Verzeichnis einstellen, das dasbin
Verzeichnis enthält, in dem sich diese Binärdateien befinden./usr/lib/jvm/java
für beidejava
und ausreichenjavac
. Alternatives kümmert sich darum