Saya bertanya-tanya apakah Ubuntu itu sendiri menyediakan cara seluruh sistem untuk menemukan saat ini JAVA_HOME
atau apakah ada tempat yang tepat untuk pengaturan JAVA_HOME
.
Mac OS X bekerja dengan baik dalam hal ini, karena /usr/libexec/java_home
perintah mengembalikan arus JAVA_HOME
. Tetapi untuk Ubuntu, materi yang saya temukan selalu mengatakan kepada saya untuk mengatur $JAVA_PATH
menunjuk ke jalur statis, yang disimpan di ~/.bash_profile
.
Saya pikir, bagaimanapun, pendekatan ini memiliki beberapa kelemahan:
- Setelah Java diperbarui, nomor versi mini akan berubah, yang membuat jalur statis tidak lagi tersedia.
- Setelah mengubah JRE yang digunakan dalam sistem saya dengan
update-alternatives
, saya harus memodifikasi$JAVA_HOME
di.bash_profile
. Pekerjaan ekstra itu menyebalkan. - Beberapa
$JAVA_HOME
program yang diperlukan, tidak menyadari.bash_profile
sama sekali. Saya harus mengatur$JAVA_HOME
skrip start-up mereka, oleh karena itu cara standar dan mudah untuk mendapatkan$JAVA_HOME
tampaknya penting bagi saya.
Nah, saran apa pun disambut. Terima kasih.
export JAVA_HOME=$(dirname $(dirname $(readlink -e $(which javac))))
Anda dapat mengatur variabel lingkungan di
/etc/environment
, yang mendapat pengaturan oleh PAM. Seharusnya juga ada symlink/usr/lib/jvm
yang tidak berubah dengan rilis minor.sumber
Tetapkan profil sistem jalur
Edit file Path sistem / etc / profile
Tambahkan baris berikut pada akhirnya
Untuk http://javaandme.com/ untuk panduan instalasi lengkap.
sumber
Jika Anda yakin perintah 'java' dapat dipanggil, bukankah ini akan berhasil untuk Anda?
sumber
$JAVA_HOME
sistem, tidak hanya di shell saat ini.Solusi yang diterima byuser13742 mengasumsikan bahwa server sudah menginstal Java. Jika Anda menambahkan ini ke skrip terpusat untuk banyak server, ini akan memberikan beberapa kesalahan seperti:
Untuk menghindari itu dan hanya mengatur JAVA_HOME jika server memiliki lingkungan Java, sedikit peningkatan adalah:
Saya juga memasukkan perubahan dari SimonB untuk digunakan
which
untuk menemukan di mana instalasi.sumber
/etc/environment
?