Jika Anda mengunduh biner linux dari Sun, Anda dapat menginstalnya di direktori apa pun yang Anda suka. Kemudian hanya referensi lib itu dalam kode Anda, dan Anda siap melakukannya.
Dengan penginstal biner, ia akan membuat subdirektori bernama sendiri (misalnya dalam contoh Anda, /usr/java/jdk1.5.0_), sehingga Anda dapat mengunduh sebanyak yang Anda inginkan, dan mereka akan berbaris dengan nama yang tepat sub-drectories.
Biner java utama tinggal di / usr / bin, jadi jika Anda ingin menggantinya ke titik di mana ketika Anda mengetik "java" itu mengakses java Anda, dan bukan yang itu, Anda hanya memindahkan yang lama dari / usr / bin , dan tautkan yang baru di sana. Mengetik which javaakan memberi tahu Anda apa java default pada sistem Anda.
@ jldupont: Ketika saya memikirkan menginstal bersamaan, saya memikirkan beberapa versi diinstal pada mesin yang sama, yang metode saya benar-benar akan memberi Anda. Saya memiliki sekitar 12 versi java yang diinstal pada kotak produksi saya untuk menangani hand-me-downs dari perusahaan yang belum diperbarui.
Namun ketika Anda mengetik "java" Anda hanya akan mendapatkan satu versi java, karena itulah yang ada di '/usr/bin'... Anda harus mengetikkan sesuatu seperti' /usr/java/jdk1.5.1/ bin / java 'untuk mendapatkan biner java tertentu yang bukan sistem default.
Terima kasih tetapi saya perlu menginstal secara bersamaan . Bagaimana aku melakukan itu?
jldupont
Terima kasih. Saya sekarang telah menginstal JDK5 di / opt dan menulis sendiri bash script untuk mengatur variabel lingkungan ... sepertinya sudah berfungsi. Saya pikir ini akan lebih menyakitkan dari ini!
jldupont
@ jldupont: Sebenarnya itu salah satu hal yang saya sukai dari linux ... Karena tidak ada registri yang menghalangi, Anda dapat menginstal hal yang sama ratusan kali, dan itu bukan masalah selama Anda memastikan untuk tidak menulis file-file umum secara berlebihan. Saya tahu banyak orang yang menjalankan (misalnya) beberapa versi Apache yang berbeda. Saya sendiri cenderung menjalankan beberapa versi Perl dan Java.
Satanicpuppy
1
Cukup unduh dan jalankan file .bin dari oracle yang kemudian mengekstrak dirinya ke dalam folder. Pindahkan folder ini (mis. jdk1.6.0_32) Ke / usr / lib / jvm dan kemudian skrip yang setjavasaya gunakan untuk mengubah versi java. Namun, karena exportpernyataan itu Anda harus tetap di terminal yang sama. Juga beberapa alat jvm kecil mungkin tidak diatur tetapi saya kira itu harus bekerja dalam banyak kasus. Saya juga seorang shell noob jadi tolong perbaiki saya jika ada kemungkinan yang lebih baik :-) Kode untuk saya adalah:
#!/bin/bash
# shouldnt be used in a loop, else the path may become too long
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Not running as root"
exit
fi
case "$1" in
6)
echo "Setting Java version 6"
export PATH=/usr/lib/jvm/jdk1.6.0_32/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_32
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
7)
echo "Setting Java version 7"
export PATH=/usr/lib/jvm/java-7-openjdk/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk/
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
*)
echo "Usage: $0 {6|7}"
esac
exit 0
Cukup unduh dan jalankan file .bin dari oracle yang kemudian mengekstrak dirinya ke dalam folder. Pindahkan folder ini (mis.
jdk1.6.0_32
) Ke / usr / lib / jvm dan kemudian skrip yangsetjava
saya gunakan untuk mengubah versi java. Namun, karenaexport
pernyataan itu Anda harus tetap di terminal yang sama. Juga beberapa alat jvm kecil mungkin tidak diatur tetapi saya kira itu harus bekerja dalam banyak kasus. Saya juga seorang shell noob jadi tolong perbaiki saya jika ada kemungkinan yang lebih baik :-) Kode untuk saya adalah:sumber