Di Ubuntu dimungkinkan untuk memiliki beberapa JVM secara bersamaan. Yang standar dipilih dengan update-alternatives
. Tetapi ini tidak mengatur JAVA_HOME
variabel lingkungan, karena kebijakan debian .
Saya menulis skrip peluncur (bash), yang memulai aplikasi java. Aplikasi java ini membutuhkan JAVA_HOME
variabel lingkungan. Jadi bagaimana cara mendapatkan jalur JVM yang saat ini dipilih oleh update-alternatives
?
echo $(readlink -f /usr/bin/java | sed "s:bin/java::")
, hasilnya/usr/lib/jvm/java-7-oracle/jre/
dan tidak/usr/lib/jvm/java-7-oracle/
solusi danadam dapat dengan mudah diadopsi untuk mengambil jalur JDK (yaitu bukan JRE) seperti yang dibutuhkan:
sumber
export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))
Masuk
.bashrc
berguna bagi saya.sumber
Jadi, Anda mengatakan bahwa perintah ini tidak membantu Anda?
sumber
Saya menginstal java dengan
dan kemudian untuk menemukan lokasi
sumber
Sebagai perpanjangan dari jawaban danadams:
Pertama-tama, instal Java JRE ke-2 sebagai opsi java ke-3, dengan prioritas "3":
Kemudian, Anda dapat mencantumkannya:
Anda dapat mengatur alternatif dengan tangan, menggunakan ini:
Kemudian, skrip Anda dapat mengaturnya dengan cepat, seperti:
Ini lebih baik menggambarkan apa yang dilakukan perintah 'sed'. Meskipun Anda masih perlu mengatur tautan untuk javaw dan javac, dll, juga, masing-masing dilakukan secara terpisah.
sumber
Beberapa waktu yang lalu saya membuat tutorial di forum Ubuntu tentang cara menginstal JRE / JDK terbaru dari situs web Java. Ini juga mencakup cara mengaktifkannya di seluruh sistem, dengan menambahkan lokasi JRE / JDK ke variabel PATH. Jika suka, Anda juga dapat menambahkan JAVA_HOME ke skrip, yang disebutkan di akhir topik.
Lihatlah: http://ubuntuforums.org/showthread.php?t=1437100
sumber
Jika java dikonfigurasikan dengan
update-alternatives
atau ditambahkan ke variabel PATH Anda secara manual, maka hardcod"/usr/bin/java"
tidak diperlukan. Saya menggunakan solusi ini di .bashrc saya:export JAVA_HOME=$(readlink -m $(which java)/../..)
sumber