Saya menginstal java jdk hotspot 1.7. Saat saya mengetik java -version
saya mendapatkan:
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Ini benar.
Dan saya mencoba menginstal maven, dan menambahkan ke /etc/environment
file:
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
Sekarang, ketika saya mengetik mvn, saya mendapatkan:
Error: JAVA_HOME is not defined correctly. We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java
Namun saya tidak meletakkan "tanda untuk JAV_HOME var di file lingkungan.
Itu mencoba lari dari
”/usr/lib/jvm/jdk1.7.0”/bin/java
jalan, Sebenarnya seharusnya
/usr/lib/jvm/jdk1.7.0/bin/java
Saat aku memerintah
$JAVA_HOME
Saya mendapatkan:
bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory
Saya yakin path ( /usr/lib/jvm/jdk1.7.0
) benar.
java
environment-variables
Kamoliddin
sumber
sumber
ls -al /usr/lib/jvm
dan mengonfirmasi bahwa 'jdk1.7.0' adalah format untuk nama direktori? Saat menggunakan Oracle, mereka cenderung menggunakan nama folder yang anehls /usr/lib/jvm/java-7
danls "/usr/lib/jvm/java-7"/bin
hasilkan, dan harus menghasilkan hasil yang sama untuk saya (yang tidak kosong). Bagian terakhir, java-7, adalah hasil dari modifikasi manual - itu bisa dan akan sedikit berbeda untuk Anda. Verifikasi, bahwa folder tersebut ada (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
setelah menjalankanls -al /usr/lib/jvm
perintah iniecho $VARNAME
. Jika Anda hanya melakukannya$VARNAME
maka ia akan mengeksekusi apa yang ada dalam variabel itu.Jawaban:
JAVA_HOME
harus ditetapkan dengan nama direktori yang berisi satubin
direktori yang berisi executable Java (khususnya,java
itu sendiri).Dengan anggapan Anda memiliki
/usr/lib/jvm/jdk1.7.0
direktori, direktori tersebut mungkin berisijre
subdirektori yang berisibin
direktori yang berisijava
dan executable terkait.Jadi Anda mungkin harus menetapkan
JAVA_HOME
untuk/usr/lib/jvm/jdk1.7.0/jre
daripada/usr/lib/jvm/jdk1.7.0
.sumber
JAVA_HOME
selalu diatur ke dir induk, bukan kejre
dir.$JAVA_HOME
untuk mengetahui di manajavac
dan binari pengembangan lainnya, maka ya, Anda harus mengaturnya kejdk
direktori yang berisibin
direktori yang berisi binari tersebut./usr/lib/jvm/java
harus cukup untuk keduanyajava
danjavac
. Alternatif menangani hal ini