回答:
LinuxバイナリをSunからダウンロードした場合、好きなディレクトリにインストールできます。次に、これらのライブラリをコードで参照するだけでよいのです。
バイナリインストーラーを使用すると、独自の名前付きサブディレクトリ(例では/usr/java/jdk1.5.0_)が作成されるため、必要な数だけダウンロードでき、適切に名前が付けられた場所に配置されます。サブディレクトリ。
メインのJavaバイナリは/ usr / binにあるため、「java」と入力してJavaにアクセスするように置き換えたい場合は、Javaにアクセスし、/ usr / binから古いものを移動するだけです。 、新しいリンクをそこにリンクします。入力which java
すると、システムのデフォルトのJavaが何であるかがわかります。
@jldupont:同時インストールについて考えるとき、同じマシンに複数のバージョンがインストールされていると思います。私の方法ではそれが絶対に得られます。まだ更新されていない企業からのお下がりを処理するために、私は約12バージョンのJavaを製品ボックスにインストールしています。
ただし、「java」と入力すると、「/ usr / bin」にあるので、1つのバージョンのjavaしか取得できません...「/ usr / java / jdk1.5.1 /」のように入力する必要があります。 bin / java 'は、システムのデフォルトではない特定のJavaバイナリを取得します。
oracleから.binファイルをダウンロードして実行すると、それ自体がフォルダーに抽出されます。このフォルダー(例jdk1.6.0_32
:)を/ usr / lib / jvmに移動してから、setjava
Javaバージョンの変更に使用するスクリプトを実行します。export
ただし、ステートメントのため、同じターミナルにとどまる必要があります。また、いくつかの小さなjvmツールが設定されていない可能性がありますが、ほとんどの場合は機能するはずです。また、私はシェルnoobなので、より良い可能性がある場合は修正してください:-)私のコードは次のとおりです。
#!/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