プログラミングの世界において、Java はトップクラスのプログラミング言語の1つであり続けています。Javaは、オブジェクト指向プログラミングシステムの概念に従う高水準プログラミング言語です。また、クロスプラットフォームのアプリケーションを生成する、プラットフォームに依存しない言語でもあります。Javaはあらゆる場所に存在しています – 銀行業務や取引、Webフレームワーク、ゲーム(Minecraft)、さらにはモバイルオペレーティングシステム(Android)に至るまで。
このガイドでは、次のOSにJavaをインストールする手順を説明します:CentOS およびFedora.
前提条件
システムレベルの変更を実行するには、sudo権限が必要です。ただし、これらの操作を実行する際は、sudo権限を持つ非rootユーザーを使用することをお勧めします。次のチュートリアルを参照して、sudoersファイルを使用してユーザーのsudo権限を管理する方法を学ぶことができます。詳細なCentOSサーバーのセットアップおよび設定手順については、このチュートリアルをご覧ください。.
Javaのバリエーション
利用可能なJavaエディションにはいくつかの異なる種類があります:
- Standard Edition - Java SE
- Enterprise Edition - Java EE
- Micro Edition - Java ME
これらすべてが業界でそれぞれの役割を担っていますが、ほとんどのJavaアプリケーションはJava SEを使用して開発されています。このガイドでは、Java SEのインストール方法を説明します。
Java SEには2種類のパッケージがあります:
- JRE:Java Runtime Environment(Java実行環境)の略です。Javaアプリケーションを実行するために必要です。JREパッケージは、JVM(Java仮想マシン)とユーティリティを提供する、必要なバイナリとライブラリで構成されています。
- JDK:Java Development Kit(Java開発キット)の略です。JDKには、Javaアプリケーションの開発とデバッグに必要なすべてのツールとライブラリが含まれています。すべてのJDKパッケージには、JREのコピーも含まれています。
Javaの主要な実装には次の2つがあります:Oracle Java と OpenJDK。OpenJDKは、Java自体の主要な基盤を形成するオープンソースプロジェクトです。Oracle Javaは、いくつかの独自のコードを追加してOpenJDKを実装しています。
どちらのJava実装も、ライセンスポリシーが異なります。Java 9以降、OpenJDKのリリースはGPLv2+CPE(Classpath Exception付きGPLv2)の下でライセンスされています。一方、Oracle JavaはJava SEのOTNライセンス契約.
の下でリリースされています。ライセンスポリシーの変更は、Javaコミュニティに大きな騒動を巻き起こしました。それ以来、以下のような複数のOpenJDKのディストリビューション(フレーバー)が利用可能になっています:AdoptOpenJDK, GraalVM, Libericaなど。
どのJava SEを選ぶべきか?
非常に多くの選択肢があるため、自分に適したJavaのバリエーションを決定するのは難しいかもしれません。このセクションでは、これらすべての選択肢の適用範囲について説明します。
- JDK vs JRE
これはかなり単純な選択です。JDKは、大部分においてJava開発者向けです。Javaアプリケーションを学習または開発したいですか?もしそうなら、JDKを選ぶべきです。
Javaプログラムを実行するだけでよい場合は、JREを選択してください。JDKをインストールしても動作しますが、効率の面では冗長になります。
- OpenJDK vs Oracle
OpenJDKとOracle Javaはどちらも無料で利用できます。ただし、デプロイ環境によっては、Oracle Javaが有料になる場合があります。価格設定はJavaのリリースサイクルに関連しています。6か月ごとにJavaの新しいバージョンがリリースされます。新しいリリースが出るたびに、古いバージョンはパブリックコードベースでのパッチ、バグ修正、または改善を受け取れなくなります。
デプロイ環境に関しては、Oracle Javaは教育目的および個人利用である限り無料です。企業の商用(本番)環境となると、有料になる場合があります。企業が古いバージョンのJavaのサポートを必要とする場合、Oracleは有料で長期サポートを提供しています。
個人利用のみでJavaを使用する個人ですか?それなら、どちらでも問題ありません。企業や組織向けにJavaをデプロイすることに関心がありますか?Oracle Javaは有料で利用できます。あるいは、OpenJDKのフレーバーを検討することもできます。バニラ(標準)のOpenJDKにはサポートがありませんが、さまざまなOpenJDKフレーバー(AdoptOpenJDK、Amazon Corretto、Azul Zuluなど)は、すべての主要なリリースに対して長期サポートを無料で提供しています。
- OpenJDKフレーバー
機能面では、すべてのOpenJDKフレーバーがほぼ同じエクスペリエンスを提供します。一般的に、各OpenJDKフレーバーを区別するのは、さまざまなマイナーな(そしていくつかのメジャーな)機能です。バニラのOpenJDKは、パッチやバグ修正の面で、Oracle Javaと同様のパターンに従います。新しいJavaバージョンがリリースされると、古いバージョンは今後のアップデートを受け取れなくなります。ただし、古いOpenJDKリリースは引き続き無料で使用できます。
ここで他のフレーバーの出番となります。これらのOpenJDKフレーバーは一般的に、Oracleが公式に提供するよりも長い期間、古いリリースおよび新しいリリースのサポートを提供します。これらのプロジェクトの一部は、業界の大手企業によるスポンサーシップを受けています。
Javaのインストール
本記事の執筆時点では、最新のLTSリリースはJava 11です。最も長い期間アップデートが提供されるため、Java LTS(長期サポート)リリースの使用が推奨されます。Java 11 LTSのOpenJDKフレーバーは、2030年までサポートを受ける予定です。
-
Oracle JDKのインストール
Oracle JDK 16
OracleはLinux用のインストール可能なパッケージを提供しています。OracleのJDKは、DEB、RPM、およびTAR.GZパッケージとして利用可能です。今回はCentOSとFedoraを使用しているため、対象はOracle JDKのRPMパッケージになります。
Oracleは、一般ダウンロード向けに最新のJDKリリースのみを提供しています。古いリリースの場合は、アクセスするためにOracleアカウントが必要です。執筆時点で、最新のJavaリリースはJava 16です。まず、以下を確認してください。 Oracle JDK 16のダウンロードページ:

CentOSにJavaパッケージをインストールするには、次のコマンドを実行します:
|
1 |
sudo yum localinstall jdk-16.0.1_linux-x64_bin.rpm |

FedoraにJavaパッケージをインストールするには、次のコマンドを実行します:
|
1 |
sudo rpm -Uvh --nodeps ./jdk-16.0.1_linux-x64_bin.rpm |
Oracle JDK 11
以下を確認してください: Oracle JDK 11のダウンロードページ。その後、RPMパッケージをダウンロードします。これでパッケージをインストールする準備が整いました。CentOSにRPMパッケージをインストールするには、次のコマンドを実行します:
|
1 |
sudo yum localinstall jdk-11.0.11_linux-x64_bin.rpm |
FedoraにRPMパッケージをインストールするには、次のコマンドを実行します:
|
1 |
sudo rpm -Uvh --nodeps ./ jdk-11.0.11_linux-x64_bin.rpm |
Oracle JDK 8
新しいリリースが登場しているものの、Java 8は依然として開発者の間で最も人気のあるバージョンの1つです。当然のことながら、業界は徐々に新しいリリースへと移行しつつありますが、Java 8の人気は依然として高いままです。また、Oracleの公式サイトからインストール可能なRPMパッケージとしても提供されています。以下を確認してください。 Oracle JDK 8のダウンロードページ。次に、システムにRPMパッケージをダウンロードします。
FedoraにRPMパッケージをインストールするには、次のコマンドを実行します:
|
1 |
sudo rpm --Uvh --nodeps ./jdk-8u291-linux-x64.rpm |
CentOSにインストールするには、次のコマンドを実行します:
|
1 |
sudo yum localinstall jdk-8u291-linux-x64.rpm |
-
OpenJDKのインストール
OpenJDK 16
OpenJDKパッケージは、公式パッケージサーバーから直接入手できます。パッケージマネージャーにパッケージのインストールを指示するだけです。CentOSとFedoraの両方で、OpenJDK 16は以下のパッケージとして利用可能です。 java-16-openjdk-devel.
CentOSにOpenJDK 16をインストールする:
|
1 |
sudo yum install java-16-openjdk-devel |
FedoraにOpenJDK 16をインストールする:
|
1 |
sudo dnf install java-16-openjdk-devel |
OpenJDK 11
CentOSとFedoraの両方で、OpenJDK 11は以下として利用可能です。 java-11-openjdk-devel.
CentOSにOpenJDK 11をインストールする:
|
1 |
sudo yum install java-11-openjdk-devel |

FedoraにOpenJDK 11をインストールする:
|
1 |
sudo dnf install java-11-openjdk-devel |
OpenJDK 8
ありがたいことに、OpenJDK 8も公式パッケージサーバーから直接入手できます。CentOSとFedoraの両方で、OpenJDKパッケージは以下のようにラベル付けされています。 java-1.8.0-openjdk-devel.
FedoraにOpenJDK 8をインストールする:
|
1 |
sudo dnf install java-1.8.0-openjdk-devel |
CentOSにOpenJDK 8をインストールする:
|
1 |
sudo yum install java-1.8.0-openjdk-devel |
OpenJDKフレーバー
OpenJDKのディストリビューションは、個人ユーザーと企業/エンタープライズユーザーの両方にとって興味深い選択肢です。その多くは、さまざまなJavaリリースに対して無償で長期サポートを提供しています。
- AdoptOpenJDKのインストール
AdoptOpenJDKは、非常に人気のあるもう一つのOpenJDKディストリビューションです。すべてのOpenJDKビルドは無料で利用できます。これは、Java開発者およびベンダー(Amazon、IBM、Azul、Microsoft、Red Hatなど)によって推進されているプロジェクトです。AdoptOpenJDKのバイナリは、コミュニティサポートと商用サポートの両方を提供しています。
AdoptOpenJDKをインストールするには、Debian/Ubuntu、CentOS/RHEL/Fedora、およびopenSUSE/SLES向けにビルド済みのDEBおよびRPMパッケージを提供するサードパーティのリポジトリを利用します。リポジトリと利用可能なパッケージについては、この記事で簡単に説明されています:AdoptOpenJDK — RPMおよびDEBファイル.
まず、サードパーティのリポジトリをインストールする必要があります。このガイドで説明されている他の方法よりも少し複雑です。簡単に言うと、リポジトリのエントリを手動で作成する必要があります。新しいリポジトリを作成します adoptopenjdk.repo。コマンドはrootユーザーとして実行する必要があることに注意してください:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
その後、次のコードを入力します。CentOSのバージョンに応じて、 baseurl エントリを適宜更新してください:
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

Fedoraでは、代わりに次のコードを入力します。Fedoraのバージョンに応じて、 baseurl エントリを適宜更新してください。コマンドをrootとして実行することを忘れないでください:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/fedora/33/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

これでリポジトリが設定されました。次に、YUM/DNFが新しいリポジトリを認識するか確認します:
|
1 |
sudo yum repolist |

|
1 |
sudo dnf repolist |

これで、AdoptOpenJDKパッケージをインストールできます。利用可能なすべてのパッケージを確認してください:
|
1 |
yum search adoptopenjdk |
|
1 |
dnf search adoptopenjdk |
FedoraにAdoptOpenJDK 11 (hotspot)をインストールするには、次のコマンドを実行します:
|
1 |
sudo dnf install adoptopenjdk-11-hotspot |

CentOSにAdoptOpenJDK 11 (hotspot)をインストールするには、次のコマンドを実行します:
|
1 |
sudo yum install adoptopenjdk-11-hotspot |
インストールのテスト
選択したJDKをインストールした後、インストールが正常に機能しているか確認するために簡単なテストを実行します:
|
1 |
java -version |
|
1 |
javac -version |

デフォルトのJavaの設定
システムに複数のJDKがインストールされている場合、競合が発生する可能性があります。トラブルを避けるために、いずれか1つをデフォルトのJDKとして設定する必要があります。これは alternatives コマンドを使用して設定できます。一部のプログラムでは、JDKの場所を特定するために環境変数の追加設定が必要です。
-
alternativesの使用
CentOS/Fedoraでは、 alternatives コマンドは、シンボリックリンクを介してデフォルトのコマンドを管理します。Javaの場合、これは非常に便利です。デフォルトのJavaを変更するには、次の alternatives コマンドを実行します:
|
1 |
sudo alternatives --config java |

出力には、alternativesによってすべてのJavaインストールが表示されます。デフォルトとして設定したいJavaインストールの Selection の値を入力して、それをデフォルトに設定します。
-
環境変数
Java専用の環境変数がいくつか存在します。これらの変数は、Java実行ファイルの場所を宣言します。最も一般的な環境変数は、 JAVA_HOMEです。その値はJavaのインストール先へのフルパスです。環境変数を設定します:
|
1 |
export JAVA_HOME=<java_path> |

システム内のすべてのユーザーに対して JAVA_HOMEを設定するには、その値を /etc/environment 内で宣言する必要があります。:
|
1 |
sudo sh -c "echo export JAVA_HOME=<java_path> >> /etc/environment" |
まとめ
このガイドでは、CentOSおよびFedoraにJavaをインストールする方法を説明しました。また、ご自身のスタイルに最も適したJDKを選択できるよう、さまざまなJavaバージョンについても紹介しました。
Javaは強力なプログラミング言語です。クロスプラットフォーム開発を第一に考えている数少ないプログラミング環境の1つです。ほぼすべてのJavaプログラムは、サポートされている他のプラットフォーム上でも動作します。開発者としては、プラットフォームに関する不安から解放されます。ユーザーとしては、目的のアプリケーションがシステム上で確実に動作するため、安心して使用できます。
代わりにUbuntuにJavaをインストールしたい場合は、このチュートリアルを参照してください。.
快適なコンピューティングを!





コメント
コメントはまだありません。最初のコメントを投稿しましょう。