Pertanyaan Bagaimana cara mengatur JAVA_HOME untuk Java?


Saya sudah menginstal versi Java. Bagaimana kita mengaturnya $JAVA_HOME variabel lingkungan dengan benar?


249
2017-08-13 22:31


asal




Jawaban:


Anda dapat mengatur Anda JAVA_HOME di /etc/profile sebagai Petronilla Escarabajo menyarankan. Tetapi lokasi yang disukai untuk JAVA_HOME atau variabel sistem apa pun /etc/environment.

Buka /etc/environment di editor teks seperti apa nano atau gedit dan tambahkan baris berikut:

JAVA_HOME="/usr/lib/jvm/open-jdk"

(jalur java bisa berbeda)

Menggunakan source untuk memuat variabel, dengan menjalankan perintah ini:

source /etc/environment

Kemudian periksa variabel, dengan menjalankan perintah ini:

echo $JAVA_HOME

Memperbarui

Biasanya sebagian besar sumber sistem linux / etc / environment secara default. Jika sistem Anda tidak melakukan itu tambahkan baris berikut ~/.bashrc (Terima kasih @ pje)

source /etc/environment

345
2017-08-14 02:17



Saya mendapatkan: JDK Diperlukan: 'tools.jar' nampaknya tidak ada dalam classpath IDEA. Harap pastikan JAVA_HOME menunjuk ke JDK daripada JRE. - anon58192932
@advocate - Anda mungkin harus memposting pertanyaan Anda sendiri untuk itu. Tetapi petunjuknya ada dalam pesan; Anda perlu menunjuk pada JDK bukan JRE. - David Edwards
Ketika saya mencoba menjalankan Android Studio (yang memiliki IntelliJ IDEA sebagai basis), saya memiliki pesan kesalahan yang sangat mirip dengan @ advocate: "'tools.jar' tampaknya tidak di jalur kelas Android Studio." Setelah mengotak-atik banyak dengan JAVA_HOME tanpa hasil, saya memutuskan untuk melihat studioo.sh, shellscript yang memulai Android Studio. Sebagai tebakan liar, saya menetapkan JDK_HOME ke nilai yang sama yang diharapkan untuk JAVA_HOME, dan voila! Itu dipasang tanpa masalah besar. - Hilton Fernandes
Bagi mereka yang melakukan pengembangan perangkat lunak, jangan menaruh JAVA_HOME Anda di / etc / environment kecuali Anda ingin reboot setiap kali Anda mengganti versi JDK. - HDave
Seperti yang orang lain tunjukkan, ini tidak menempel di antara sesi terminal. Apa yang saya lakukan untuk mengatasi ini hanyalah menambahkan garis source /etc/environment ke bagian atas file konfigurasi bash saya ~/.bashrc sehingga memuat semua pengaturan lingkungan saya saat startup. Bekerja untukku sejauh ini. - pje


Untuk mengatur JAVA_HOME variabel lingkungan, lakukan hal berikut:

  1. Luncurkan Terminal dengan menekan Ctrl+Alt+T di keyboard Anda.
  2. Masukkan perintah berikut:
    $ gksudo gedit /etc/environment
  3. Tergantung di mana Anda menginstal Java Anda, Anda harus menyediakan jalur lengkap. Untuk contoh ini, saya menginstal Oracle JDK 7 di /usr/lib/jvm/java-7-oracle direktori.
    Gulir ke ujung file dan masukkan yang berikut:
    JAVA_HOME=/usr/lib/jvm/java-7-oracle
    export JAVA_HOME
  4. Simpan file Anda dan keluar gedit.
  5. Terakhir, reload sistem PATH dengan perintah berikut:
    $ . /etc/environment

Metode di atas akan menghemat kerumitan karena harus menjalankan perintah setiap kali Anda masuk ke komputer Anda.


67
2017-08-13 23:01



Bagaimana . / etc / pekerjaan lingkungan? - Sudip Bhandari
Apakah penambahan export perintah yang diperlukan dalam /etc/environment? - pkaramol
@pkaramol Saya harus menambahkan ekspor JAVA_HOME pada 16.04LTS untuk membuatnya dimuat saat startup. - adeen-s
@ adeen-s Anda menambahkan export ke garis dalam /etc/environment dan itu membantu? File itu berisi definisi variabel yang diuraikan sebagai =pasang-pasangan nama-nilai yang disempurnakan; isinya tidak dieksekusi sebagai perintah. (Lihat man pam_env.) Jadi kecuali Anda terpisah memperlakukan file seolah-olah skrip (seperti lewat /etc/environment untuk bash ./source builtin), saya tidak berharap itu bekerja. - Eliah Kagan


Jika Anda tidak tahu jalurnya dan Anda hanya memiliki openJDK terinstal, Anda dapat mengetik update-alternatives --config java dan Anda harus menemukan jalannya. Untuk mengatur variabel Anda dapat menulis JAVA_HOME=<PATH> diikuti oleh export JAVA_HOME. Perhatikan tidak ada ruang ketika mendeklarasikan variabel. Untuk memeriksa apakah variabel disimpan, Anda cukup mengetik echo $JAVA_HOME untuk memverifikasi.


30
2017-08-18 21:29



Sepertinya ini statis. Jika saya menghapus openjdk-7 dan menginstal openjdk-9, bukankah JAVA_HOME akan menunjuk ke tempat yang salah? Bagaimana ini bisa dibuat dinamis? - DavidJ
Dengan Anda secara manual mengubahnya. Sekali lagi, ANDA adalah caranya menjadi dinamis .... - HDave
Apa artinya @HDave adalah bahwa Dalam kasus-kasus tertentu, Anda mungkin ingin JAVA_HOME menunjuk ke versi java tertentu, sehingga membuat pembaruan dinamis JAVA_HOME mungkin bukan yang Anda inginkan. - Maciej
saya suka jawaban ini. Saya menguji dengan gema dan melihat jalan saya. Namun, saya bingung mengapa saya masih mendapatkan JAVA_HOME variabel lingkungan tidak diatur ketika saya menjalankan mvn -version - Winnemucca
Saya menulis jawaban ini kembali ketika saya lebih bodoh. Mengatur variabel seperti yang dijelaskan hanya akan mempengaruhi sesi terminal Anda saat ini, dan tidak akan berlangsung lama. Cara yang benar adalah dengan berlari update-alternatives --install <link> <name> <target> <priority>  sebagai contoh: update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-runtime/bin/java 1 - Erro