JavaとJVM(Javaの仮想マシン)は、Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなど、さまざまなソフトウェアに必要です。
このガイドでは、apt
を使用して、Java Runtime Environment (JRE)と Java Developer Kit (JDK)のさまざまなバージョンをUbuntu 18.04にインストールします。OpenJDKとOracleの公式JDKをインストールします。次にプロジェクトに使用するバージョンを選択します。 終了したら、JDKを使用してソフトウェアを開発したり、Java Runtimeを使用してソフトウェアを実行したりできます。
このチュートリアルを実行するには、次のものが必要です。
Javaをインストールする最も簡単なオプションは、Ubuntuに含まれているバージョンを使用することです。デフォルトでは、Ubuntu 20.04には、JREとJDKのオープンソースバージョンであるOpen JDK 11が含まれています。
このバージョンをインストールするには、まずパッケージインデックスを更新します。
- sudo apt update
次に、Javaがすでにインストールされているかどうかを確認します。
- java -version
Javaが現在インストールされていない場合は、次の出力が表示されます。
OutputCommand 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72, or
sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1
sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2
sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1
sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu1
次のコマンドを実行して、デフォルトのJava Runtime Environment (JRE) をインストールします。これにより、OpenJDK 11からJREがインストールされます。
- sudo apt install default-jre
JREは、ほぼすべてのJavaソフトウェアを実行できます。
次を使用して、インストールを確認します。
- java -version
次の出力が表示されます。
Outputopenjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
特定のJavaベースのソフトウェアをコンパイルして実行するには、JREに加えて、Java Development Kit (JDK) が必要になる場合があります。JDKをインストールするには、次のコマンドを実行します。これにより、JREもインストールされます。
- sudo apt install default-jdk
Javaコンパイラであるjavac
のバージョンを確認して、JDKがインストールされていることを確認します。
- javac -version
次の出力が表示されます。
Outputjavac 11.0.7
次に、Oracleの公式JDKとJREをインストールする方法を見てみましょう。
OracleのJavaライセンス契約では、パッケージマネージャーによる自動インストールを許可していません。Oracleが配布する公式バージョンのOracle JDKをインストールする場合は、Oracle にアカウトを作成して使用したいバージョンの新しいパッケージリポジトリを追加する必要があります。次に、apt
を使用して、サードパーティのインストールスクリプトからインストールできます。
ダウンロードする必要のあるOracle JDKのバージョンは、インストーラスクリプトのバージョンと一致している必要があります。必要なバージョンを特定するには、oracle-java11-installer
ページをご覧ください。
次の図に示すように、Focalのパッケージを特定します。
このイメージでは、スクリプトのバージョンは11.0.7
です。この場合、Oracle JDK11.0.7が必要です。このページから何もダウンロードする必要はありません。インストールスクリプトをapt
からダウンロードします。
その後、ダウンロードページにアクセスして、必要なものと一致するバージョンを探します。
JDKダウンロードボタンをクリックすると、使用可能なバージョンを示す画面が表示されます。Linuxの.tar.gz
パッケージをクリックします。
Oracleライセンス契約に同意するかどうかを尋ねる画面が表示されます。ライセンス契約に同意するには、チェックボックスを選択し、ダウンロードボタンを押します。ダウンロードが開始されます。ダウンロードが開始する前に、Oracleアカウントにもう一度ログインする必要があります。
ファイルがダウンロードされたら、サーバーに転送する必要があります。ローカルマシン上で、ファイルをサーバーにアップロードします。Linux用のWindowsサブシステムを使用するmacOS、Linux、またはWindowsでは、scp
コマンドを使用して、ファイルを sammy
ユーザーのホームディレクトリに転送します。次のコマンドは、Oracle JDKファイルをローカルマシンのダウンロード
フォルダに保存したことを前提とします。
- scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~
ファイルアップロードが完了したら、サーバーに戻り、OracleのJavaをインストールするのに役立つサードパーティーのリポジトリを追加します。
software-properties-common
パッケージをインストールします。これにより、add-apt-repository
コマンドがシステムに追加されます。
- sudo apt install software-properties-common
次に、インストールしようとしているソフトウェアの確認に使用する署名キーをインポートします。
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
次の出力が表示されます。
Outputgpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1
次に、add-apt-repository
コマンドを使用して、レポジトリをパッケージソースのリストに追加します。
- sudo add-apt-repository ppa:linuxuprising/java
次のメッセージが表示されます。
Output Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian.
Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required.
The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Created for users of https://www.linuxuprising.com/
Installation instructions (with some tips), feedback, suggestions, bug reports etc.:
. . .
Press [ENTER] to continue or ctrl-c to cancel adding it
ENTER
を押して、インストールを継続します。no valid OpenPGP data found
というメッセージが表示される場合がありますが、これは無視してかまいません。
パッケージリストを更新して、新しいソフトウェアをインストールできるようにします。
- sudo apt update
インストーラは、/var/cache/oracle-jdk11-installer-local
でダウンロードしたOracle JDKを探します。このディレクトリを作成し、Oracle JDKアーカイブをそこに移動します。
- sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
- sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/
最後に、パッケージをインストールします。
- sudo apt install oracle-java11-installer-local
インストーラは、最初にOracleライセンス契約に同意するように求めてきます。契約に同意すると、インストーラはJavaパッケージを抽出してインストールします。
次に、使用するJavaのバージョンを選択する方法を見てみましょう。
1台のサーバーに複数のJavaをインストールできます。update-alternatives
コマンドで、コマンドラインで使用するデフォルトのバージョンを構成できます。
- sudo update-alternatives --config java
このチュートリアルで両方のバージョンのJavaをインストールした場合、出力は次のようになります。
OutputThere are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Javaバージョンに関連付けられている番号を選択してデフォルトとして使用するか、ENTER
キーを押して現在の設定のままにします。
これは、コンパイラ(javac
)などの他のJavaコマンドに対して実行できます。
- sudo update-alternatives --config javac
このコマンドを実行できるその他のコマンドには、keytool
、javadoc
、およびjarsigner
などがありますが、これらに限定されるものではありません。
JAVA_HOME
環境変数を設定するJavaを使用して作成された多くのプログラムは、JAVA_HOME
環境変数を使用してJavaのインストール場所を決定します。
この環境変数を設定するには、Javaがインストールされている場所を最初に決定します。update-routhoratives
コマンドを使用します。
- sudo update-alternatives --config java
このコマンドは、Javaの各インストールとそのインストールパスを表示します。
OutputThere are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:
この場合、インストールパスは次のとおりです。
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
にあります。/usr/lib/jvm/java-11-oracle/jre/bin/java
にあります。ご希望のインストールからパスをコピーします。次に、nano
またはお気に入りのテキストエディタを使用して/etc/environment
を開きます。
- sudo nano /etc/environment
このファイルの最後に次の行を追加し、強調表示されたパスを自分のコピーしたパスに置き換えてください。ただし、パスのbin/
部分は含めないでください。
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
このファイルを変更すると、システム上のすべてのユーザーのJAVA_HOME
パスが設定されます。
ファイルを保存して、エディターを終了します。
次に、このファイルをリロードして、現在のセッションの変更を適用します。
- source /etc/environment
環境変数が設定されていることを確認します。
- echo $JAVA_HOME
設定したパスが表示されます。
Output/usr/lib/jvm/java-11-openjdk-amd64
他のユーザーは、この設定を適用するためには, source etc/environment
コマンドを実行するか、ログアウトしてから再度ログインする必要があります。
このチュートリアルでは、Javaのさまざまなバージョンをインストールし、それらを管理する方法を学びました。これで、Tomcat、Jetty、Glassfish、Cassandra、JenkinsなどのJavaで実行されるソフトウェアをインストールできます。
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!