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.