Wenn Sie die Linux-Binärdatei von Sun herunterladen , können Sie sie in einem beliebigen Verzeichnis installieren. Dann verweisen Sie einfach auf diese Bibliotheken in Ihrem Code, und Sie können loslegen.
Mit dem Binärinstallationsprogramm wird ein eigenes benanntes Unterverzeichnis erstellt (z. B. in Ihrem Beispiel /usr/java/jdk1.5.0_), sodass Sie so viele herunterladen können, wie Sie möchten Untergeschichten.
Die Haupt-Java-Binärdatei befindet sich in / usr / bin. Wenn Sie diese also bis zu dem Punkt ersetzen möchten, an dem bei der Eingabe von "Java" auf Java zugegriffen wird, und nicht auf diese, verschieben Sie einfach die alte aus / usr / bin und verlinken Sie Ihren neuen dort. Wenn which javaSie tippen , erfahren Sie, welches Java auf Ihrem System standardmäßig verwendet wird.
@jldupont: Wenn ich an gleichzeitige Installationen denke, denke ich an mehrere Versionen, die auf demselben Computer installiert sind, was meine Methode Ihnen absolut geben wird. Ich habe ungefähr 12 Java-Versionen auf meiner Produktionsbox installiert, um Hand-me-Downs von Unternehmen zu verarbeiten, die noch nicht aktualisiert wurden.
Allerdings , wenn Sie „java“ Typ sind Sie nur eine Version von Java gehend zu erhalten, da das ist , was in ist ‚/usr/bin'...You'd haben so etwas wie den Typ‘ /usr/java/jdk1.5.1/ bin / java ', um eine bestimmte Java-Binärdatei zu erhalten, die nicht die Systemvorgabe ist.
Danke, aber ich brauche gleichzeitige Installationen. Wie mache ich das?
Jldupont
Vielen Dank. Ich habe jetzt JDK5 in / opt installiert und mir ein Bash-Skript geschrieben, um die Umgebungsvariablen einzurichten ... es sieht so aus, als ob es funktioniert. Ich dachte, es wäre schmerzhafter als das!
Jldupont
@jldupont: Eigentlich ist das eines der Dinge, die ich an Linux liebe ... Da es keine Registrierung gibt, die im Weg steht, können Sie dasselbe hundertmal installieren, und es ist kein Problem, solange Sie sicher gehen gemeinsame Dateien nicht zu überschreiben. Ich kenne viele Leute, die (zum Beispiel) mehrere verschiedene Versionen von Apache ausführen. Ich selbst neige dazu, mehrere Versionen von Perl und Java auszuführen.
Satanicpuppy
1
Laden Sie einfach die .bin-Datei von Oracle herunter und führen Sie sie aus, die sich dann selbst in einen Ordner extrahiert. Verschieben Sie diesen Ordner (z. B. jdk1.6.0_32) in / usr / lib / jvm und dann in das Skript, mit dem setjavaich Java-Versionen ändere. Aufgrund der exportAnweisungen müssen Sie jedoch im selben Terminal bleiben. Auch einige kleine JVM-Tools sind möglicherweise nicht eingestellt, aber ich denke, es sollte in den meisten Fällen funktionieren. Ich bin auch ein Shell Noob, also korrigiere mich bitte, wenn es eine bessere Möglichkeit gibt :-) Der Code für mich lautet:
#!/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
Laden Sie einfach die .bin-Datei von Oracle herunter und führen Sie sie aus, die sich dann selbst in einen Ordner extrahiert. Verschieben Sie diesen Ordner (z. B.
jdk1.6.0_32
) in / usr / lib / jvm und dann in das Skript, mit demsetjava
ich Java-Versionen ändere. Aufgrund derexport
Anweisungen müssen Sie jedoch im selben Terminal bleiben. Auch einige kleine JVM-Tools sind möglicherweise nicht eingestellt, aber ich denke, es sollte in den meisten Fällen funktionieren. Ich bin auch ein Shell Noob, also korrigiere mich bitte, wenn es eine bessere Möglichkeit gibt :-) Der Code für mich lautet:quelle