Bagaimana cara mengubah nilai JAVA_HOMEdi Ubuntu agar mengarah ke Oracle's Java?
Haruskah itu menunjuk ke java-6-sunatau java-6-sun-1.6.0.24?
Bagaimana cara mengubah nilai JAVA_HOMEdi Ubuntu agar mengarah ke Oracle's Java?
Haruskah itu menunjuk ke java-6-sunatau java-6-sun-1.6.0.24?
Jawaban:
Saya meletakkan garis:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
di ~/.bashrcfile saya .
/usr/lib/jvm/java7-oracleharus berupa tautan simbolis yang menunjuk ke /usr/lib/jvm/java-7-oracle-[version number here].
Alasan ini adalah tautan simbolis karena jika ada versi baru JVM, Anda tidak perlu memperbarui .bashrcfile Anda , itu akan secara otomatis mengarah ke versi baru.
Jika Anda ingin mengatur JAVA_HOMEvariabel lingkungan secara global dan pada tingkat sistem berarti penggunaan harus diatur dalam /etc/environmentfile.
oracle-java7-set-defaultpaket itu.
Jika Anda ingin mengubahnya secara global dan pada tingkat sistem;
Di
/etc/environment
tambahkan baris ini:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
$JAVA_HOMEtidak menyelesaikan saat digunakan seperti ini PATH=$JAVA_HOME/bin, mencoba memulai ulang, tidak berpengaruh. Apakah saya harus exportatau set JAVA_HOMEdi file ini atau profil saya?
untuk mengatur Java SE Development Kit Oracle sebagai sistem default Java cukup unduh Java SE Development Kit terbaru dari sini kemudian buat direktori di suatu tempat yang Anda suka di sistem file Anda misalnya /usr/javasekarang ekstrak file yang baru saja Anda unduh di direktori itu:
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
sekarang untuk menyetel JAVA_HOMEvariabel lingkungan Anda :
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
pastikan java Oracle disetel sebagai java default oleh:
$ update-alternatives --config java
Anda mendapatkan sesuatu seperti ini:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
perhatikan tanda bintang sebelum nomor di sebelah kiri dan jika yang benar tidak disetel pilih yang benar dengan mengetik nomornya dan tekan enter. sekarang uji java Anda:
$ java -version
jika Anda mendapatkan sesuatu seperti berikut ini, Anda dapat melakukannya:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
juga perhatikan bahwa Anda mungkin memerlukan izin root atau berada di grup sudoers untuk dapat melakukan ini. Saya telah menguji solusi ini di ubuntu 12.04 dan Debian wheezy dan berfungsi di keduanya.
Jika Anda ingin variabel lingkungan ini tersedia untuk semua pengguna dan saat sistem dimulai, Anda dapat menambahkan berikut ini ke /etc/profile.d/java.sh (buatlah jika perlu):
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Kemudian di jalankan terminal:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
Pertanyaan kedua saya adalah - haruskah itu menunjuk ke java-6-sun atau java-6-sun-1.6.0.24?
Itu harus selalu mengarah ke java-7-oraclesymlink itu ke yang terbaru diinstal (dengan asumsi Anda menginstal Java dari repositori Ubuntu dan sekarang dari unduhan yang tersedia di oracle.com).
java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
atau java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
Jika Anda melakukan pengembangan apa pun, Anda perlu mengarahkan ke JDK (Java Development Kit). Jika tidak, Anda dapat mengarahkan ke JRE (Java Runtime Environment).
JDK berisi semua yang dimiliki JRE dan banyak lagi. Jika Anda hanya menjalankan program Java, Anda dapat mengarahkan ke JRE atau JDK.
Anda harus mengatur JAVA_HOME berdasarkan Java saat ini yang Anda gunakan.
readlinkakan mencetak nilai dari tautan simbolik untuk Java saat ini dan sedakan menyesuaikannya ke direktori JRE:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Jika Anda ingin mengatur JAVA_HOME ke JDK, Anda harus membuka satu folder lagi:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Jika Anda ingin menggunakan versi Java tertentu saat beberapa JDK diinstal, hanya menyetel JAVA_HOME mungkin tidak berfungsi.
Anda perlu menggunakan sudo update-alternatives --config javauntuk mengatur Java default.
Lihat ini ; Lari
sudo update-java-alternatives --list
untuk mencantumkan semua penginstalan Java pada mesin menurut nama dan direktori, lalu jalankan
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
untuk memilih JRE / JDK yang akan digunakan.
Jika Anda ingin menggunakan JDK / JRE yang berbeda untuk setiap tugas Java, Anda dapat menjalankan update-alternatif untuk mengkonfigurasi satu java yang dapat dieksekusi pada satu waktu; kamu bisa lari
sudo update-alternatives --config java[Tab]
untuk melihat perintah Java yang dapat dikonfigurasi (java, javac, javah, javaws, dll). Lalu
sudo update-alternatives --config [javac|java|javadoc|etc.]
akan mengaitkan tugas / perintah Java itu ke JDK / JRE tertentu.
Anda mungkin juga perlu mengatur JAVA_HOME untuk beberapa aplikasi: dari jawaban ini Anda dapat menggunakan
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
untuk JRE, atau
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
untuk JDK.
java -XshowSettings 2>&1 | grep -e 'java.home' | awk '{print "JAVA_HOME="$3}' | sed "s/\/jre//g" >> /etc/environment