「CentOS 7/Oracle JDKをインストールする」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
CentOS7の公式[[Java]]は「[[Oracle JDK]]」ではなく「[[OpenJDK]]」となっている。 | CentOS7の公式[[Java]]は「[[Oracle JDK]]」ではなく「[[OpenJDK]]」となっている。 | ||
− | + | [[OracleJDK]]と[[OpenJDK]]のクラス互換性は97%と言われるが「残り3%のクラス」にやたらと使われていた画像処理関連([[JPEG]]のエンコーダーなど)が含まれるため、Javaアプリの中にはOpenJDKで動かないものが結構あり、どうしてもOracle JDKを入れたい場面が出てくる。 | |
== 手順 == | == 手順 == |
2017年10月19日 (木) 03:05時点における版
CentOS7の公式Javaは「Oracle JDK」ではなく「OpenJDK」となっている。 OracleJDKとOpenJDKのクラス互換性は97%と言われるが「残り3%のクラス」にやたらと使われていた画像処理関連(JPEGのエンコーダーなど)が含まれるため、Javaアプリの中にはOpenJDKで動かないものが結構あり、どうしてもOracle JDKを入れたい場面が出てくる。
目次
手順
OpenJDKを入れる
まずOpenJDKをyumから入れる。 OpenJDKを事前に入れておくのは、後々に他のyumパッケージを入れた際にその依存関係にOpenJDKがあると、そのタイミングでJDKが勝手に切り替わり大混乱に陥ることがあるためである。このためOpenJDKを使わなくても入れておくことが推奨される。
$ yum install java-1.8.0-openjdk
Oracle JDKを入れる
次にOracle JDKを入れる。 OracleJDKのRPMはOracleのサイトから事前にダウンロードしておく。
注意点としてはrpmコマンドではなくyumコマンドで入れること。 rpmコマンドで入れるとyumのデータベースが壊れる。
$ yum localinstall jdk-8u141-linux-x64.rpm
Oracle JDKを登録する
CentOS7にJDKが複数あることを登録する必要がある。 rpmを入れただけで自動登録されたりはしない。 この説明を飛ばしているサイトばかりで凄い悩んだ。 優先度(末尾の17000)はなんでもいい。
$ alternatives --install /usr/bin/java java /usr/java/default/bin/java 17000
Oracle JDKを使う設定にする
Oracle JDKは「/usr/java/」ディレクトリにインストールされるのでそれっぽい方を選べ。
$ alternatives --config java 2 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/bin/java) 2 /usr/java/default/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
Javaのバージョンを確認する
$ java -version java version "1.8.0_141" Java(TM) SE Runtime Environment (build 1.8.0_141-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
関連項目
- CentOS 7/MonoDevelopをインストールする
- CentOS 7/Oracle JDKをインストールする
- CentOS 7/PostgreSQLをインストールする
- CentOS 7/ディスクを増設する
- CentOS 7/自動的にネットワークに接続する