Zainstalowałem java jdk hotspot 1.7. Kiedy piszę java -version
, otrzymuję:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
To jest poprawne.
Próbowałem zainstalować maven i dodałem do /etc/environment
pliku:
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
Teraz kiedy piszę mvn, otrzymuję:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
Jednak nie umieszczam znaku „dla JAV_HOME var w pliku środowiska.
Próbuje uciec
”/usr/lib/jvm/jdk1.7.0”/bin/java
ścieżka, tak naprawdę powinno być
/usr/lib/jvm/jdk1.7.0/bin/java
Kiedy dowodzę
$JAVA_HOME
Staje się:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Jestem pewien, że ścieżka ( /usr/lib/jvm/jdk1.7.0
) jest poprawna.
java
environment-variables
Kamoliddin
źródło
źródło
ls -al /usr/lib/jvm
i potwierdzić, że „jdk1.7.0” jest formatem nazwy katalogu? Podczas korzystania z Oracle zazwyczaj używają dziwnych nazw folderówls /usr/lib/jvm/java-7
ils "/usr/lib/jvm/java-7"/bin
wydaj i powinien przynieść mi ten sam wynik (który nie jest pusty). Ostatnia część, java-7, jest wynikiem ręcznej modyfikacji - może i będzie dla ciebie nieco inna. Sprawdź, czy taki folder istnieje (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
po uruchomieniu tegols -al /usr/lib/jvm
poleceniaecho $VARNAME
. Jeśli to zrobisz$VARNAME
, wykona to, co jest w tej zmiennej.Odpowiedzi:
JAVA_HOME
powinna być ustawiona na nazwę katalogu, który zawiera tenbin
katalog, który zawiera pliki wykonywalne Java (w szczególnościjava
sama).Zakładając, że masz
/usr/lib/jvm/jdk1.7.0
katalog, prawdopodobnie zawiera onjre
podkatalog zawierającybin
katalog zawierającyjava
powiązane pliki wykonywalne.Należy więc prawdopodobnie ustawienie
JAVA_HOME
się/usr/lib/jvm/jdk1.7.0/jre
zamiast/usr/lib/jvm/jdk1.7.0
.źródło
JAVA_HOME
zawsze był ustawiony na katalog macierzysty, a nie najre
katalog.$JAVA_HOME
wiedzieć, gdziejavac
i inne pliki binarne rozwojowe, to tak, będziesz musiał ustawić go dojdk
katalogu zawierającegobin
dir, który zawiera te pliki binarne./usr/lib/jvm/java
powinno wystarczyć zarówno dla, jakjava
i dlajavac
. Zajmuje się tym alternatywa