Yanıtlar:
Linux ikilisini Sun'dan indirirseniz, istediğiniz dizine kurabilirsiniz. O zaman sadece kodunuzdaki bu kütüphanelere bakın ve hazırsınız.
İkili yükleyiciyle, kendi adlandırılmış alt dizinini oluşturur (örneğin, örneğinizde /usr/java/jdk1.5.0_), böylece istediğiniz kadar indirebilirsiniz ve kendilerini uygun şekilde adlandırılmış olarak sıralarlar alt drectories.
Ana java ikilisi / usr / bin içinde yaşar, bu yüzden bunu "java" yazdığınızda java'ya eriştiği noktaya değiştirmek istiyorsanız, o değil, eski olanı / usr / bin dışına taşırsınız. ve yenisini oraya bağla. Yazmak which java
, sisteminizdeki varsayılan java'nın ne olduğunu söyleyecektir.
@jldupont: Eşzamanlı yüklemeleri düşündüğümde, aynı makinede yüklü olan birden çok sürümü düşünüyorum, ki yöntemim kesinlikle size verecek. Henüz güncellenmemiş olan şirketten gelen el-işlenmeleri ele almak için üretim kutuma yaklaşık 12 java sürümü yükledim.
Ancak "java" yazdığınızda java'nın yalnızca bir sürümünü edineceksiniz, çünkü '/usr/bin'... bin / java 'için sistem varsayılanı olmayan belirli bir java ikili dosyası alın.
Sadece .bin dosyasını oracle'dan indirin ve yürütün, daha sonra kendini bir klasöre çıkarır. Bu klasörü (örn. jdk1.6.0_32
) / Usr / lib / jvm klasörüne ve ardından setjava
java sürümlerini değiştirmek için kullandığım komut dosyasına taşıyın . Ancak export
ifadeler nedeniyle aynı terminalde kalmanız gerekiyor. Ayrıca bazı küçük jvm araçları ayarlanmamış olabilir, ancak çoğu durumda çalışması gerekir. Ayrıca ben bir kabuk çaylak yani daha iyi bir olasılık varsa lütfen beni düzelt :-) Benim için kod:
#!/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