Di Ubuntu, saya ingin mengganti variabel lingkungan JAVA_HOME saya bolak-balik antara Java 5 dan 6.
Saya membuka terminal dan mengetik berikut ini untuk mengatur variabel lingkungan JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
Dan di jendela terminal yang sama, saya ketik yang berikut untuk memeriksa bahwa variabel lingkungan telah diperbarui:
echo $JAVA_HOME
Dan saya melihat / usr/lib/jvm/java-1.5.0-sun yang saya harapkan. Selain itu, saya memodifikasi ~ / .profile dan mengatur variabel lingkungan JAVA_HOME ke /usr/lib/jvm/java-1.5.0-sun.
Dan sekarang untuk masalah - ketika saya membuka jendela terminal baru dan saya memeriksa variabel lingkungan JAVA_HOME saya dengan mengetikkan echo $ JAVA_HOME Saya melihat bahwa variabel lingkungan JAVA_HOME saya telah dikembalikan ke Jawa 6. Ketika saya reboot mesin saya (atau log keluar dan kembali, saya kira) variabel lingkungan JAVA_HOME diatur ke Java 5 (mungkin karena modifikasi yang saya buat di file ~ / .profile saya).
Apakah ada cara untuk mengatasi hal ini sehingga saya dapat mengubah lingkungan JAVA_HOME saya tanpa harus keluar dan kembali (DAN membuat perubahan variabel lingkungan tetap di semua jendela terminal baru)?
sumber
~/.profile
file hanya membaca ketika Anda login ke Ubuntu, jadi jika Anda logout / login kemudian JAVA_HOME diatur untuk semua terminal dan aplikasi lain yang Anda jalankan. Jika Anda mengatur JAVA_HOME di~/.bashrc
dalamnya hanya akan terlihat oleh aplikasi yang dijalankan dari terminal.Jawaban:
Masukkan variabel lingkungan ke
/etc/environment
file global :Jalankan "source / etc / environment" di setiap shell tempat Anda ingin variabel diperbarui:
Periksa apakah itu berfungsi:
Hebat, tidak perlu keluar.
Jika Anda ingin mengatur variabel lingkungan JAVA_HOME hanya di terminal, atur dalam file ~ / .bashrc .
sumber
/etc/environment
itu istimewa dan tidak memungkinkan penggantian variabel, mis.JRE_HOME=${JAVA_HOME}/jre
tidak akan berfungsi.Ini mungkin akan menyelesaikan masalah Anda: https://help.ubuntu.com/community/EnvironmentVariables
sumber
Coba langkah-langkah ini.
--Kami akan mengedit "etc \ profile". Variabel lingkungan harus dimasukkan di bagian bawah file. Karena Ubuntu tidak memberikan akses ke folder root, kita harus menggunakan beberapa perintah di terminal
Langkah1: Mulai Terminal. Ketikkan perintah:
gksudo gedit /etc/profile
Langkah2: File teks profil akan terbuka. Masukkan variabel lingkungan di bagian bawah halaman ........... Misalnya:
export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java
step3: simpan dan tutup file. Periksa apakah variabel lingkungan diatur dengan menggunakan perintah gema ........ Mis
echo $PATH
sumber
Anda perlu memasukkan definisi variabel dalam
~/.bashrc
file.Dari halaman bash man:
sumber
Secara tradisional, jika Anda hanya ingin mengubah variabel di jendela terminal Anda, atur dalam
.bashrc
file, yang bersumber setiap kali terminal baru dibuka..profile
file tidak bersumber setiap kali Anda membuka terminal baru.Lihat perbedaan antara .profile dan .bashrc dalam pertanyaan: Apa perbedaan antara .bashrc, .bash_profile, dan .environment?
.bashrc
harus menyelesaikan masalah Anda. Namun, itu bukan solusi yang tepat karena Anda menggunakan Ubuntu. Lihat halaman bantuan Ubuntu yang relevan " Variabel lingkungan luas sesi ". Jadi, tidak heran itu.profile
tidak bekerja untuk Anda. Saya menggunakan Ubuntu 12.04 dan xfce. Saya mengatur.profile
dan itu sama sekali tidak berpengaruh bahkan jika saya keluar dan masuk. Pengalaman serupa di sini . Jadi, Anda mungkin harus menggunakan.pam_environment
file dan benar-benar lupa.profile
, dan.bashrc
. Dan CATATAN itu.pam_environment
bukan file skrip.sumber
Lihatlah
bash(1)
, Anda perlu shell login untuk mengambil~/.profile
, yaitu-l
opsi.sumber
Saya tahu ini adalah pertanyaan dingin yang panjang, tetapi muncul setiap kali ada rilis utama Java baru atau baru-baru ini. Sekarang ini akan dengan mudah berlaku untuk 6 dan 7 swapping.
Saya telah melakukan ini di masa lalu dengan
update-java-alternatives
: http://manpages.ubuntu.com/manpages/hardy/man8/update-java-alternatives.8.htmlsumber
Setelah membuat perubahan pada .profile, Anda perlu menjalankan file, agar perubahan tersebut berlaku.
Setelah ini selesai, perintah echo akan berfungsi.
sumber
~/.profile
daripada./.profile
.