ソリューション
どうやら、そのようtools.jar
やrt.jar
などのOracleリリースでは、これらの古いインストールからキーJARファイルの削除の仕方によって、インストールされているすべての以前のバージョンのJDKを破壊する傾向RPMスクリプト、。これにより、以前は機能していたJDKが開発者にとって役に立たなくなります。
最初の応答は、2番目のインストーラスクリプトを実行する前にインストールディレクトリの名前を変更することでした。しかし、RPMを実行すると、2番目のスクリプトを実行するときにJDKのバージョンが既にインストールされていると不平を言っています。したがって、ハックのハックは、あるバージョンをインストールし、そのディレクトリの名前を変更し、RPMでそのバージョンを "削除"することです(それに関連するファイルを見つけることができないと不平を言いますが)。 2番目のバージョンをインストールすることは自由です。インストールする最新バージョンに達するまで、前の手順を繰り返してください。
TL;ここでDR
は、同じマシン上で複数の作業JDKのバージョンを取得する手順は、次のとおりです
1.インストーラスクリプトを使用してJDKの最初のバージョンをインストールします。
:~# chmod a+x jdk-1_5_0_22-linux-amd64-rpm.bin
:~# ./jdk-1_5_0_22-linux-amd64-rpm.bin -x
:~# rpm -ivh --replacepkgs jdk-1_5_0_22-linux-amd64.rpm
2.インストールディレクトリの名前を変更します:
:~# mv /usr/java/jdk1.5.0_22 /usr/java/jdk1.5.0_22-bak
3. RPMはそのJDKのバージョンアンインストールします
:~# rpm -e jdk-2000:1.5.0_22-fcs.x86_64
4.リンスをし、すべてのバージョンが
にインストールされるまで繰り返します。
:~# ls -la /usr/java
default -> java7
java5 -> jdk1.5.0_22
java6 -> jdk1.6.0_45
java7 -> jdk1.7.0_80
java8 -> jdk1.8.0_101
jdk1.5.0_22
jdk1.6.0_45
jdk1.7.0_80
jdk1.8.0_101
latest -> java8
7.変更し、正しいへ/usr/bin
シンボリックリンク:正しいターゲットへのシンボリックリンク/usr/java
変更
6.
:~# mv /usr/java/jdk1.5.0_22-bak /usr/java/jdk1.5.0_22
ディレクトリ名の末尾から-bak
を削除しますターゲット:
:~# ls -la /usr/bin/ja*
jar -> /usr/java/default/bin/jar
java -> /usr/java/default/bin/java
javac -> /usr/java/default/bin/javac
javadoc -> /usr/java/default/bin/javadoc
javah -> /usr/java/default/bin/javah
javaws -> /usr/java/default/bin/javaws
まだOracleのインストーラパッケージbreakiの問題を解決していません以前のバージョン。 *この解決策は、 '/ usr/bin/java'がどのバージョンを参照しているかに関係しています。 IDEで直接使用するJDKを指定するので、シンボリックリンク '/ usr/bin/java'は無関係です。問題は、新しいJDKをインストールした後に古いJDKが役に立たなくなることです。したがって、私はclusterfuckのソリューションを投稿した。 –