広告 Oracle版のJava (JDK)をインストールあまりなさそうだけどDebianやUbuntuのデフォルトJava環境のOpenJDKではちゃんと動かない場合、オラクルのJavaを入れる必要があるみたい。 実際にどうもうまく動かないものがあったのでオラクル版のJDKを入れてみた。 まず、デフォルトじゃないJavaをインストールためのパッケージ「java-package」をインストール。便利なものがあるもんだ。というかそれなら昔のsun-javaパッケージみたいに公式パッケージを作ってくれればいいのに。 # apt-get install java-package オラクルのサイトから入れたいJDKをダウンロードしてくる。現時点ではver. 8が最新だった。 $ make-jpkg jdk-8u40-linux-i586.tar.gz とやると Detected product: Java(TM) Development Kit (JDK) Standard Edition, Version 8 Update 40 Oracle(TM) Is this correct [Y/n]: と言われるのでそのままエンター。 # dpkg -i oracle-java8-jdk_8u40_i386.deb とするとインストールされる。 現在のJavaが何か見てみる # java -version OpenJDKの場合 java version "1.7.0_75" OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-3) OpenJDK Client VM (build 24.75-b04, mixed mode, sharing) といった感じ。 これをオラクルの物に変える # update-java-alternatives -l java-1.7.0-openjdk-i386 1071 /usr/lib/jvm/java-1.7.0-openjdk-i386 jdk-8-oracle-i586 318 /usr/lib/jvm/jdk-8-oracle-i586 となったら「jdk-8-oracle-i586」を選べばいいから # update-java-alternatives -s jdk-8-oracle-i586 とやってオラクル版に変える。 update-alternatives: エラー: iceweasel-javaplugin.so の alternatives がありません update-alternatives: エラー: iceweasel-javaplugin.so の alternatives がありません というエラーが出た。 調べてみるとどうもバグらしい。 さらに調べると解決方法があった。 # update-alternatives --install /usr/lib/iceweasel/plugins/libjavaplugin.so iceweasel-javaplugin.so /usr/lib/jvm/jdk-8-oracle-i586/jre/lib/i386/libnpjp2.so 2000 するとエラーが出た。 update-alternatives: エラー: シンボリックリンク `/usr/lib/iceweasel/plugins/libjavaplugin.so.dpkg-tmp' の作成中にエラーが発生しました: そのようなファイルやディレクトリはありません どうも「/usr/lib/iceweasel/」に「plugins」というディレクトリがないかららしい。 で、最後に # update-java-alternatives -s jdk-8-oracle-i586 とやったらエラーが出なかった。多分これでOK 再びJavaのバージョンを調べてみると # java -version java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode) とオラクル版になった。 ところが、最初に書いた通りOpenJDKの問題かと思ってオラクル版を入れたのだけど、結局解決しなかった 広告 |