「CentOS 7/Oracle JDKをインストールする」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
 
(他の1人の利用者による、間の4版が非表示)
1行目: 1行目:
 
CentOS7の公式[[Java]]は「[[Oracle JDK]]」ではなく「[[OpenJDK]]」となっている。
 
CentOS7の公式[[Java]]は「[[Oracle JDK]]」ではなく「[[OpenJDK]]」となっている。
OracleJDKとOpenJDKのクラス互換性は97%と言われるが「残り3%のクラス」にやたらと使われていた画像処理関連(JPEGのエンコーダーなど)が含まれるため、Javaアプリの中にはOpenJDKで動かないものが結構あり、どうしてもOracle JDKを入れたい場面が出てくる。
+
[[OracleJDK]]と[[OpenJDK]]のクラス互換性は97%と言われるが「残り3%のクラス」にやたらと使われていた画像処理関連([[JPEG]]のエンコーダーなど)が含まれるため、Javaアプリの中にはOpenJDKで動かないものが結構あり、どうしてもOracle JDKを入れたい場面が出てくる。
 +
 
 +
==手順==
 +
===OpenJDKを入れる===
 +
まずOpenJDKをyumから入れる。事前にOpenJDKを入れておくのは、後々に「OpenJDKに依存する他のyumパッケージ」を入れた際に、そのタイミングでJDKがOracleJDKからOpenJDKに勝手に切り替わり大混乱に陥ることがあるためである。このためOpenJDKを使わなくても入れておき、実質無効化しておくことが推奨される。
  
== 手順 ==
 
=== OpenJDKを入れる ===
 
OpenJDKはネットから入れる。
 
OpenJDKを事前に入れておくのは、後々に他のパッケージを入れた際にOpenJDKも入ることがあると、そのタイミングでJDKが勝手に切り替わり大混乱に陥ることがあるためである。
 
 
  $ yum install java-1.8.0-openjdk
 
  $ yum install java-1.8.0-openjdk
  
=== Oracle JDKを入れる ===
+
===Oracle JDKを入れる===
 +
次にOracle JDKを入れる。
 
OracleJDKのRPMは[[Oracle]]のサイトから事前に[[ダウンロード]]しておく。
 
OracleJDKのRPMは[[Oracle]]のサイトから事前に[[ダウンロード]]しておく。
yumコマンドで入れること。rpmコマンドで入れると[[データベース]]が壊れる。
+
 
 +
注意点としてはrpmコマンドではなくyumコマンドで入れること。rpmコマンドで入れるとyumの[[データベース]]が壊れる。
 +
 
 
  $ yum localinstall jdk-8u141-linux-x64.rpm
 
  $ yum localinstall jdk-8u141-linux-x64.rpm
  
=== Oracle JDKを登録する ===
+
===Oracle JDKを登録する===
 
CentOS7に[[JDK]]が複数あることを登録する必要がある。
 
CentOS7に[[JDK]]が複数あることを登録する必要がある。
 
rpmを入れただけで自動登録されたりはしない。
 
rpmを入れただけで自動登録されたりはしない。
20行目: 23行目:
 
  $ alternatives --install /usr/bin/java java /usr/java/default/bin/java 17000
 
  $ alternatives --install /usr/bin/java java /usr/java/default/bin/java 17000
  
=== Oracle JDKを使う設定にする ===
+
===Oracle JDKを使う設定にする===
 
Oracle JDKは「/usr/java/」ディレクトリに[[インストール]]されるのでそれっぽい方を選べ。
 
Oracle JDKは「/usr/java/」ディレクトリに[[インストール]]されるのでそれっぽい方を選べ。
 
  $ alternatives --config java
 
  $ alternatives --config java
33行目: 36行目:
 
  Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
 
  Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
  
=== Javaのバージョンを確認する ===
+
===Javaのバージョンを確認する===
 
  $ java -version
 
  $ java -version
 
  java version "1.8.0_141"
 
  java version "1.8.0_141"
39行目: 42行目:
 
  Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
 
  Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
  
== 関連項目 ==
+
==関連項目==
* [[CentOS 7/MonoDevelopをインストールする]]
+
 
* [[CentOS 7/Oracle JDKをインストールする]]
+
*[[CentOS 7/MonoDevelopをインストールする]]
* [[CentOS 7/PostgreSQLをインストールする]]
+
*[[CentOS 7/Oracle JDKをインストールする]]
* [[CentOS 7/ディスクを増設する]]
+
*[[CentOS 7/PostgreSQLをインストールする]]
* [[CentOS 7/自動的にネットワークに接続する]]
+
*[[CentOS 7/ディスクを増設する]]
 +
*[[CentOS 7/自動的にネットワークに接続する]]
  
== 参考文献 ==
+
==参考文献==
 
{{reflist}}
 
{{reflist}}
  
 
[[category: CentOS 7]]
 
[[category: CentOS 7]]

2019年4月10日 (水) 06:33時点における最新版

CentOS7の公式Javaは「Oracle JDK」ではなく「OpenJDK」となっている。 OracleJDKOpenJDKのクラス互換性は97%と言われるが「残り3%のクラス」にやたらと使われていた画像処理関連(JPEGのエンコーダーなど)が含まれるため、Javaアプリの中にはOpenJDKで動かないものが結構あり、どうしてもOracle JDKを入れたい場面が出てくる。

手順[編集 | ソースを編集]

OpenJDKを入れる[編集 | ソースを編集]

まずOpenJDKをyumから入れる。事前にOpenJDKを入れておくのは、後々に「OpenJDKに依存する他のyumパッケージ」を入れた際に、そのタイミングでJDKがOracleJDKからOpenJDKに勝手に切り替わり大混乱に陥ることがあるためである。このため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)

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]