Debian関係の技術日誌

Java環境をDebianに作る

JavaのJDKをDebianにインストールする。

Javaとは

Javaはもともとはサン・マイクロソフト社が開発した汎用プログラミング言語とその実行環境である。
現在はサン・マイクロソフト社を買収したOracle社によって版権を管理されている。
開発はオープンソースで開発されている。
文法はC++を参考に作られていて必ずクラスを作成することを強要するクラスベースのオブジェクト指向言語である。
最大の特徴はコンパイルするとネイティブの機械語ではなく、中間コードにコンパイルされ
その中間コードを読み込み実行する仮想マシン(JavaVMと言う)上で動くこと。
よってJavaVMさえ各環境用に用意すれば一度コンパイルしたコードはどのような環境でも動くようになるということ。
現在はいろいろな分野で広く使われ対応できる技術者の実際の需要も多い。
とくにCOBOLやC言語などからの旧資産の置き換えの需要が大きい。
Javaから派生し同じJava仮想マシン(JavaVM)上で動く言語もいくつか存在する。

いろんなJava

まず、Javaには二つの配布形態がある。
・JRE – コンパイルされたコードを実行するJavaVMとライブラリのみを含んだものでJavaコードの実行はできるが開発はできない。
・JDK – Javaの開発に使うパッケージをまとめたものでコンパイラと関連ツール、JRE、ライブラリを含むもの。
Java自身がOracleから短期で頻繁にバージョンアップされまたオープンソースであるので
それぞれでコンパイル・パッケージングされて配布されているものがある。
・Oracle社自身が出しているもの – 最新バージョンはまずここから出る。
・AdoptOpenJDK – Pleiades All in Oneなどで採用されている。
・Zulu – Azul Systems社が提供しているもの。
・Amazon Corretto – AWSで提供しているもの。
・Microsoft社が出しているもの – 実態はおそらくAdoptOpenJDKと同じもの。
基本的には無料で使用できるが長期サポートを望むならば有償サポート契約を結ぶ必要があるものがある。

Javaのダウンロード

Debianの標準パッケージにJDKは存在するがここではOracle版のJDKをインストールする。
ブラウザでOracleのダウンロードサイト(https://www.oracle.com/jp/java/technologies/downloads/)にアクセスする。
ここでは最新のJDK25を選び、
インテル系CPUの場合は「x64 Debian Package」をダウンロードする。
ラズパイの場合は「ARM64 Compressed Archive」をダウンロードする。

インテル系CPU版の場合は jdk-25_linux-x64_bin.deb
ラズパイ用の場合はjdk-25_linux-aarch64_bin.tar.gz というファイル名になる。

Javaのインストール(インテル系CPU版の場合)

インテル系CPU版の場合
dpkgでインストールを行う。

# dpkg -i jdk-25_linux-x64_bin.deb

以降はapt upgradeでアップデートできるようになる。

Javaのインストール(ラズパイ版の場合)

ラズパイ用の場合
tar でアーカイブを展開する。

# tar -zxvf jdk-25_linux-aarch64_bin.tar.gz

jdk-25 というディレクトリが作成されるのでこれを/usr/local/の下に移動する。

# mv jdk-25/ /usr/local/

シンボリックリンクを作成する。
新しいバージョンをインストールした場合はこのシンボリックリンクを張りなおす。

# cd /usr/local/
# ln -s jdk-25 java

PATHを設定するシェルを/etc/profile.d/以下に作成する。

# cd /etc/profile.d/
# vi java.sh

以下の内容を書き込み保存する。

export PATH=/usr/local/java/bin:$PATH

ログアウトして再ログインすればjavaコマンドが使用できるようになっている。

インストールの確認

以下のコマンドでバージョンを確認する。

$ java -version
$ javac -version

バージョン番号が表示されれば完了。
これでjava、javacコマンドなどが使用できる。

以上。

コメントは受け付けていません。

挨拶

このサイトの著者:
NEVER_NOTHING(なっしんぐ)

フリーランスのITエンジニア
京都出身/東京在住