JAVA_HOME doğru şekilde tanımlanmamış


14

Java JDK etkin noktasını 1.7 yükledim. Ben yazarken java -versionben alıyorum duyuyorum:

java version "1.7.0" 
Java(TM) SE Runtime Environment (build 1.7.0-b147)

Doğru.

Ve maven'i yüklemeye çalıştım ve /etc/environmentdosyaya ekledim :

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

Şimdi mvn yazdığımda alıyorum:

Error: JAVA_HOME is not defined correctly.   We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java

Ancak ben çevre dosyasında JAV_HOME var işareti koymuyorum.

Kaçmaya çalışıyor

”/usr/lib/jvm/jdk1.7.0”/bin/java

yol, aslında olmalı

/usr/lib/jvm/jdk1.7.0/bin/java

Komuta ettiğimde

$JAVA_HOME

Alıyorum:

bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory

Yolun ( /usr/lib/jvm/jdk1.7.0) doğru olduğundan eminim .


Bir ls -al /usr/lib/jvmdizin yapabilir ve 'jdk1.7.0' dizin adının biçimi olduğunu onaylayabilir misiniz ? Oracle kullanırken, garip klasör adlarını kullanma eğilimindedirler
Thomas Ward

ls /usr/lib/jvm/java-7ve ls "/usr/lib/jvm/java-7"/binverim ve benim için aynı sonucu vermeli (ki bu boş değil). Son bölüm olan java-7, manuel bir modifikasyonun sonucudur - sizin için biraz farklı olabilir ve olacaktır. Böyle bir klasörün bulunduğunu doğrulayın (jdk1.7.0).
kullanıcı bilinmiyor

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 Bu ls -al /usr/lib/jvm komutu çalıştırdıktan sonra aldım
Kamoliddin

Senin konsolunda bir değişken görmeye Not yazdığınız beklenmektedir: echo $VARNAME. Sadece yaparsanız $VARNAME, o değişkende ne olduğunu yürütür.
Alexis Wilke

Yanıtlar:


15

JAVA_HOMEdizinin adının ayarlanması gerekir içerenbin dizini içeren (özellikle Java yürütülebilir javakendisini).

Bir /usr/lib/jvm/jdk1.7.0dizininiz olduğu varsayılarak , muhtemelen dizini içeren ve ilgili yürütülebilir dosyaları içeren bir jrealt bindizin içerir java.

Muhtemelen ayar edilmelidir Yani JAVA_HOMEetmek /usr/lib/jvm/jdk1.7.0/jreyerine /usr/lib/jvm/jdk1.7.0.


Yalnızca JRE değil bir JDK yüklemek, genellikle bir bin dizini içeren bir JDK dizinine ve kendisi de bir bin dizini içeren bir JRE dizinine yol açar. Ama JAVA_HOMEher zaman direk için değil, ebeveyn direk olarak ayarlandı jre.
kullanıcı bilinmiyor

İlginç, ben jdk hayır ayarlamak gerekir? Java, derleme, dağıtma, vb kod yazacağım ..
Kamoliddin

@Kamoliddin Maven, $JAVA_HOMEnerede javacve diğer geliştirme ikili dosyalarının nerede olduğunu bilmek için kullanıyorsa , evet, bu ikili dosyaları jdkiçeren dizini içeren dizine ayarlamanız gerekir bin.
Eliah Kagan

Teşekkürler, bilmiyorum, yeniden başlattıktan sonra çalıştı, değişikliklerin uygulanması için yeniden başlatmaya gerek olmadığını düşünüyorum. Hiçbir şeyi değiştirmedim. İşe yaradı.
Kamoliddin

Neden jdk1.7.0 kullandığından emin değilim .. /usr/lib/jvm/javahem için yeterli olmalı javave javac. Alternatifler bununla ilgilenir
Brian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.