JavaとJVM(Javaの仮想マシン)は、Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなどのさまざまな種類のソフトウェアに必要です。
このガイドでは、Java Runtime Environment(JRE)とJava Developer Kit(JDK)をDebian11にインストールする方法について説明します。
また、チェックしてください:
- Ubuntu20.04にJava17をインストールする方法
- Fedora35にJava17をインストールする方法
- Rocky Linux 8 /Centos8にJava17をインストールする方法
- Ubuntu20.04へのJenkinsのインストールとセットアップ
前提条件
- 最新のDebian11システム
- rootアクセスまたはsudoアクセスを持つユーザー
- サーバーからのインターネットアクセス
目次
- サーバーが最新であることを確認する
- javaのインストール
- インストールのテスト
- 複数のJavaバージョンの切り替え
- 環境変数の構成
サーバーが最新であることを確認する
先に進む前に、サーバーのパッケージとリポジトリが最新であることを確認しましょう。目標を達成するには、次のコマンドを使用します。
sudo apt update
sudo apt -y upgrade
アップグレードするパッケージがある場合、上記のコマンドには数分かかる場合があります。
また、必要になる可能性のあるいくつかの一般的なパッケージをインストールしましょう。私はvimテキストエディタを使用しています。次のコマンドを使用してインストールされていることを確認してください:
sudo apt install -y vim
Javaのインストール
システムにJavaがインストールされているかどうかを確認してください。
$ java -version
-bash: java: command not found
java: command not found
が表示された場合 次に、Javaがインストールされていないことを意味します。 javaがインストールされている場合、そのコマンドはjavaバージョンを出力します
Debian11のデフォルトリポジトリにはJava17が含まれています。これはaptパッケージ管理を使用してJDKをインストールする最も簡単な方法です。
次のコマンドを使用してJavaを検索できます:
sudo apt-cache search openjdk | grep 17
次のコマンドを実行して、Debian11にJava17をインストールします。Javaアプリケーションとアプレットを実行するために、JDKとJREの両方をインストールします。
sudo apt install openjdk-17-jdk openjdk-17-jre -y
インストールが完了したら、次のコマンドを実行して、正しく機能するかどうかを確認します。すべてが正常に機能する場合は、以下に示すような出力が得られるはずです。
$ java -version openjdk version "17-ea" 2021-09-14 OpenJDK Runtime Environment (build 17-ea+19-Debian-1) OpenJDK 64-Bit Server VM (build 17-ea+19-Debian-1, mixed mode, sharing)
JDKが正しくインストールされているかどうかを確認するために、Javaコンパイラであるjavacのバージョンを確認します。
$ javac -version javac 17-ea
インストールのテスト
Java is installed properly
を出力する簡単なスクリプトを作成して、このステップでJava17が正しくインストールされていることをテストしてみましょう。 。
ディレクトリを作成して切り替えます
mkdir simple-app
cd simple-app
私はvimを使用して、システムでテキストファイルを作成および編集しています。このステップでは、選択したテキストエディタを使用します。 Simple.java
ファイルを作成します このコマンドの使用:
sudo vim Simple.java
これらのコンテンツをファイルに追加します
public class Simple{
public static void main(String[] args) {
System.out.println("Citizix - Java is installed properly");
}
}
プログラムを作成したので、javacコンパイラを使用してJavaソースコードをバイトコード(クラスファイル)にコンパイルする必要があります。
javac Simple.java
Simple.class
という新しいファイルを取得します 、コンパイルされたJavaクラスファイルです。
$ ls
Simple.class Simple.java
上記のコマンドは、Javaソースコードをバイトコードにコンパイルするだけです。プログラムを実行するには、クラスファイルの名前を引数としてjavaコマンドを実行します。
java Simple
すべてが正常に機能する場合は、「Citizix - Java is installed properly
」というメッセージが表示されます。 画面上の」。
$ java Simple
Citizix - Java is installed properly
複数のJavaバージョンの切り替え
システムに複数のバージョンのJavaがインストールされている場合は、java
のバージョンを構成できます。 コマンドのデフォルトは。
このコマンドを使用して構成します
sudo update-alternatives --config java
利用可能なJavaインストールのリストが表示されます。この場合、Java11とJava17の両方がインストールされています。デフォルトバージョンはアスタリスク(*)でマークされています。プロンプトに番号を入力して、別のバージョンを使用することを選択できます。
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode
上記では、Java 11を選択するためのプロンプトに1を入力しました。ここで、Javaのバージョンを確認しましょう。
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
環境変数の構成
一部のJavaアプリケーションは、正しく実行するためにJAVA_HOME環境変数を必要とします。一部のプログラムは、実行方法が非常に特殊です。 JAVA_HOMEが設定されていない場合、エラーが発生します。 JAVA_HOMEを設定すると、この問題の発生を防ぐことができます。
どのJavaインストールとパスが存在するかを確認するには、次のコマンドを使用します。
sudo update-alternatives --config java
私の場合、Javaインストールのバイナリパスは次のようになります/usr/lib/jvm/java-17-openjdk-amd64/bin/java
このパスを環境ファイル/etc/environment
に設定します すべてのアプリがアクセスできる場所。
vimでファイルを開きます:
sudo vim /etc/environment
次に、Javaホームをエクスポートする行を次のようにファイルに追加する必要があります。 export JAVA_HOME=...
値をJavaインストールで取得したパスにする:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/bin/java
このファイルは、OpenJDK17のJAVA_HOMEパスをシステム内のすべてのユーザーの環境変数として設定します。
変更を適用するには、次のコマンドを実行します。
source /etc/environment
パス変数が適用されていることを確認するには、次のコマンドを実行します。
echo $JAVA_HOME
パスは、上記でコピーしたOpenJDK17のパスに設定する必要があります。これが私の場合の値です:
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
これ以降、Javaプログラムを使用するときに毎回JAVA_HOMEパスを設定する必要はありません。また、17ではなく他のOpenJDKバージョンを使用する場合は、それに応じてパスを調整してください。
このチュートリアルでは、Debian11システムにJava17をインストールする方法を学びました。 Java言語の詳細については、Javaの公式ドキュメントを参照してください。