|
あまりなさそうだけど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]:
と言われるのでそのままエンター。
すると同じディレクトリにdebパッケージ(*.deb)ができるので、これをインストールすればいい。
上の例では「oracle-java8-jdk_8u40_i386.deb」というのができるので
# 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)
といった感じ。
これをオラクルの物に変える
使えるJavaを表示してみる
# 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」というディレクトリがないかららしい。
「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の問題かと思ってオラクル版を入れたのだけど、結局解決しなかった 
[この日記を編集] |