Risposte:
Se scarichi il binario Linux da Sun, puoi installarlo in qualunque directory ti piaccia. Quindi fai riferimento a quelle librerie nel tuo codice e sei a posto.
Con il programma di installazione binario, creerà la propria sottodirectory denominata (ad es. Nel tuo esempio, /usr/java/jdk1.5.0_), in modo da poter scaricare quanti ne vuoi e si schiereranno in modo appropriato sub-drectories.
Il binario java principale vive in / usr / bin, quindi se vuoi sostituirlo al punto in cui quando digiti "java" accede al tuo java, e non a quello, sposta semplicemente il vecchio da / usr / bin e collega il tuo nuovo lì dentro. La digitazione which java
ti dirà qual è il java predefinito sul tuo sistema.
@jldupont: Quando penso a installazioni simultanee, penso a più versioni installate sulla stessa macchina, che il mio metodo ti darà assolutamente. Ho circa 12 versioni di java installate sul mio box di produzione per gestire i manuali di aziende che non sono ancora stati aggiornati.
Tuttavia, quando digiti "java" otterrai solo una versione di java, dato che si trova in '/usr/bin'... Dovresti digitare qualcosa come' /usr/java/jdk1.5.1/ bin / java 'per ottenere un binario java specifico che non è l'impostazione predefinita del sistema.
Basta scaricare ed eseguire il file .bin da Oracle che poi si estrae in una cartella. Sposta questa cartella (ad es. jdk1.6.0_32
) In / usr / lib / jvm e poi lo script setjava
che uso per cambiare le versioni di java. A causa delle export
dichiarazioni, tuttavia, è necessario rimanere nello stesso terminale. Inoltre, alcuni piccoli strumenti jvm potrebbero non essere impostati, ma credo che dovrebbe funzionare nella maggior parte dei casi. Inoltre sono un noob di shell, quindi per favore correggimi se c'è una possibilità migliore :-) Il codice per me è:
#!/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