プログラミングを学びたい、アプリケーションを動かしたい、開発環境を整えたい。
そんなとき、多くの場面で必要になるのがJavaです。
Javaは世界中で最も使われているプログラミング言語の一つで、Webアプリケーション、モバイルアプリ、企業システムなど、様々な分野で活用されています。
UbuntuでJavaを使い始めるには、まず適切にインストールする必要があります。
しかし、「どのバージョンを選べばいいの?」「インストール方法がよくわからない」といった疑問を持つ初心者の方も多いでしょう。
この記事では、UbuntuでJavaをインストールする方法を、パソコンが苦手な人でもわかるように、ステップごとに詳しく解説していきます。
Javaの基本を理解しよう
Javaってそもそも何?
プログラミング言語としてのJava Javaは、1995年にサン・マイクロシステムズ(現在はOracle)によって開発されたプログラミング言語です。
「一度書けば、どこでも動く」をモットーに設計されており、Windows、macOS、Linuxなど、異なるOS上で同じプログラムを動かすことができます。
Javaが使われている場面
- Webアプリケーション: オンラインショッピングサイトや銀行システム
- モバイルアプリ: Android アプリの多くがJavaで開発されている
- 企業システム: 大企業の基幹システムや業務アプリケーション
- ゲーム: MinecraftもJavaで作られている
JDKとJREの違い
Javaを使うために知っておきたい重要な概念があります:
JRE(Java Runtime Environment)
- Javaプログラムを実行するための環境
- 既に作られたJavaアプリケーションを動かすだけなら、これで十分
- ユーザーが普段使うのはこちら
JDK(Java Development Kit)
- Javaプログラムを開発するための環境
- JREも含んでいるため、実行も開発もできる
- プログラミングを学びたい場合はこちらが必要
OpenJDKとOracle JDK
OpenJDKの特徴
オープンソースで無料 OpenJDKは、Javaのオープンソース実装です。以下のような特徴があります:
- 完全無料: 商用利用でも費用がかからない
- コミュニティ主導: 世界中の開発者が協力して開発
- 標準的: 多くのLinuxディストリビューションで標準採用
- 定期更新: セキュリティパッチや機能改善が定期的に提供
Ubuntuでの扱いやすさ
- Ubuntu の公式リポジトリに含まれている
apt
コマンドで簡単にインストール可能- システムとの統合が良好
- アップデートが簡単
Oracle JDKの特徴
企業向けの公式実装 Oracle JDKは、Oracle社が提供する公式のJava実装です:
- 公式サポート: Oracle社によるサポートとメンテナンス
- 商用機能: 一部の高度な機能が追加されている
- 長期サポート: LTS(Long Term Support)バージョンでは長期間のサポート
- ライセンス: 商用利用では有料の場合がある
どちらを選ぶべき?
初心者や個人利用の場合
- OpenJDKがおすすめ
- 理由:無料、簡単インストール、十分な機能
企業での商用利用の場合
- 要件による判断が必要
- Oracle JDKの商用ライセンスが必要かを確認
- OpenJDKでも十分な場合が多い
特別な理由がない限り、OpenJDKを選択することをおすすめします。
個人でプログラミングを学習する、小規模な開発プロジェクト、オープンソースプロジェクトなどは、OpenJDKで十分です。
Javaのバージョンについて
Javaバージョンの歴史と選び方
主要なJavaバージョン Javaは定期的にバージョンアップされており、主要なバージョンには以下があります:
Java 8(LTS)
- リリース:2014年
- 特徴:長期間使われた安定版
- 現在でも多くのシステムで使用中
Java 11(LTS)
- リリース:2018年
- 特徴:最初のLTS版OpenJDK
- 企業での採用が多い
Java 17(LTS)
- リリース:2021年
- 特徴:現在推奨される最新LTS版
- パフォーマンスと機能の大幅改善
Java 21(LTS)
- リリース:2023年
- 特徴:最新のLTS版
- 最新機能と最高のパフォーマンス
どのバージョンを選ぶべき?
推奨バージョンの決め方
- 新規開発: Java 17またはJava 21を推奨
- 既存システム: プロジェクトの要件に合わせる
- 学習目的: Java 17が最適(安定性と最新機能のバランス)
UbuntuでのOpenJDKインストール手順
事前準備
システムの確認 まず、Ubuntuのバージョンを確認しましょう:
lsb_release -a
このコマンドで、使用しているUbuntuのバージョン情報が表示されます。
Ubuntu 20.04 LTS、Ubuntu 22.04 LTSなどが表示されます。
パッケージリストの更新
リポジトリ情報の更新 インストール前に、パッケージ情報を最新にしましょう:
sudo apt update
このコマンドは、利用可能なパッケージの一覧を最新の状態に更新します。実際のパッケージはまだインストールされません。
実行すると、「パッケージリストを読み込んでいます…」などのメッセージが表示されます。
利用可能なJavaバージョンの確認
インストール可能なJavaバージョンを調べる どのバージョンが利用できるかを確認しましょう:
apt search openjdk
または、より詳細な情報を見るには:
apt list | grep openjdk
これらのコマンドで、インストール可能なOpenJDKのバージョン一覧が表示されます。
OpenJDK 17のインストール(推奨)
JDK 17のインストール 最も推奨されるJava 17をインストールします:
sudo apt install openjdk-17-jdk
インストール内容の確認 このコマンドを実行すると、以下のものがインストールされます:
- Java 17のJDK(開発キット)
- JRE(実行環境)
- 必要な依存関係
-jdk
をつけることで、開発に必要なツール一式がインストールされます。
実行中は「パッケージをダウンロードしています…」「設定しています…」などのメッセージが表示されます。
他のバージョンのインストール方法
Java 11をインストールする場合
sudo apt install openjdk-11-jdk
Java 21をインストールする場合
sudo apt install openjdk-21-jdk
Java 8をインストールする場合
sudo apt install openjdk-8-jdk
JREのみをインストールする場合 開発をせず、実行のみが必要な場合:
sudo apt install openjdk-17-jre
インストールの確認と動作テスト
Javaバージョンの確認
インストール成功の確認 正しくインストールされたかを確認しましょう:
java -version
期待される出力例
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu122.04.2)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu122.04.2, mixed mode, sharing)
このような出力が表示されれば、Javaが正常にインストールされています。
コンパイラの確認
Javaコンパイラの動作確認 開発環境が整っているかを確認します:
javac -version
期待される出力例
javac 17.0.7
説明: javac
はJavaのコンパイラです。これが動作すれば、Javaプログラムを開発できます。
簡単なプログラムでテスト
Hello World プログラムの作成 実際にJavaプログラムを作って動かしてみましょう:
ステップ1: ファイルの作成
nano HelloWorld.java
ステップ2: プログラムの入力
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
ステップ3: ファイルの保存 Ctrl + X
でnanoを終了し、Y
で保存、Enter
で確定
ステップ4: コンパイル
javac HelloWorld.java
ステップ5: 実行
java HelloWorld
期待される出力
Hello, World!
この手順が成功すれば、Java開発環境が完全に整っています。
エラーが出る場合は、ファイル名とクラス名が一致しているか、構文に間違いがないかを確認してください。
複数のJavaバージョンの管理
なぜ複数バージョンが必要?
プロジェクトごとの要件 実際の開発では、以下のような理由で複数のJavaバージョンが必要になることがあります:
- 既存プロジェクト: 古いJavaバージョンで開発されている
- 新規プロジェクト: 最新機能を使いたい
- 互換性テスト: 複数バージョンでの動作確認が必要
- 学習目的: 異なるバージョンの機能を比較したい
インストール済みJavaバージョンの確認
システム内のJavaを調べる
sudo update-alternatives --list java
このコマンドで、システムにインストールされているすべてのJavaのパスが表示されます。
複数のバージョンがある場合、以下のように表示されます:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
デフォルトJavaの切り替え
使用するJavaバージョンの変更
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:
使い方
- 使いたいJavaの番号を入力
- Enterキーを押す
- 選択したバージョンがデフォルトになる
この機能により、システム全体で使用するJavaのバージョンを簡単に切り替えられます。
コンパイラのバージョン切り替え
Javaコンパイラの切り替え
sudo update-alternatives --config javac
実行環境(java)とコンパイラ(javac)は別々に設定できます。通常は同じバージョンに揃えます。
環境変数の設定
JAVA_HOMEの設定が必要な場合
多くのアプリケーションで必要 一部のソフトウェアやフレームワークは、JAVA_HOME
環境変数を参照してJavaの場所を特定します:
- Eclipse: Java IDE
- IntelliJ IDEA: Java IDE
- Maven: ビルドツール
- Gradle: ビルドツール
- Apache Tomcat: Webサーバー
Javaインストール場所の確認
Javaがインストールされている場所を調べる
sudo update-alternatives --list java
または、より詳細に:
readlink -f $(which java)
これらのコマンドで、現在使用中のJavaの実際のインストールパスがわかります。
通常は/usr/lib/jvm/java-17-openjdk-amd64/bin/java
のようなパスが表示されます。
JAVA_HOMEの設定方法
一時的な設定(現在のセッションのみ)
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
永続的な設定(ユーザー全体) ホームディレクトリの.bashrc
ファイルに追加:
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
設定を反映:
source ~/.bashrc
システム全体での設定 /etc/environment
ファイルに追加:
sudo nano /etc/environment
ファイルに以下の行を追加:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
設定確認
echo $JAVA_HOME
正しく設定されていれば、Javaのインストールパスが表示されます。
Oracle JDKのインストール方法
Oracle JDKが必要な場合
特定の要件がある場合のみ 以下のような場合にOracle JDKが必要になることがあります:
- 企業の開発標準: 会社のルールでOracle JDKの使用が義務付けられている
- 商用サポート: Oracle社のサポートが必要
- 特定の機能: Oracle JDKにのみ含まれる機能が必要
- 認証要件: システム認証でOracle JDKが指定されている
Oracle JDKのダウンロードと手動インストール
ステップ1: ダウンロード
- Oracle公式サイト(oracle.com/java)にアクセス
- Java SE Downloads を選択
- 必要なバージョンを選択
- Linux x64用のtar.gzファイルをダウンロード
- ライセンス条項に同意
ステップ2: ファイルの展開
cd ~/Downloads
tar -xzf jdk-17_linux-x64_bin.tar.gz
ステップ3: インストール場所への移動
sudo mkdir -p /usr/lib/jvm
sudo mv jdk-17.0.7 /usr/lib/jvm/oracle-jdk-17
ステップ4: 代替設定への登録
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jdk-17/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle-jdk-17/bin/javac 1
ステップ5: デフォルトJavaに設定
sudo update-alternatives --config java
sudo update-alternatives --config javac
PPAを使用したOracle JDKインストール
Linuxuprising PPA の使用 注意: このPPAは非公式であり、使用は自己責任です。
sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java17-installer oracle-java17-set-default
PPAは個人のパッケージアーカイブで、公式リポジトリにないソフトウェアを提供します。
インストール中にライセンス条項への同意が求められるので、内容を確認して同意してください。
トラブルシューティング
よくある問題と解決方法
問題1: コマンドが見つからないエラー
bash: java: command not found
原因と解決策:
- JDKがインストールされていない
- PATHが正しく設定されていない
解決手順:
# インストール状況の確認
dpkg -l | grep openjdk
# 再インストール
sudo apt install openjdk-17-jdk
# PATH の確認
echo $PATH
問題2: 間違ったJavaバージョンが使われる
java -version
# 期待と違うバージョンが表示される
解決手順:
# 利用可能なJavaの確認
sudo update-alternatives --list java
# デフォルトJavaの変更
sudo update-alternatives --config java
問題3: JAVA_HOMEが設定されていない
一部のアプリケーションで「JAVA_HOME not set」エラーが発生
解決手順:
# 現在の設定確認
echo $JAVA_HOME
# 設定がない場合は追加
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
問題4: 権限エラー
Permission denied
解決策:
sudo
を使用してコマンドを実行- ファイルの権限を確認し、必要に応じて変更
パフォーマンスの最適化
メモリ設定の調整 Javaアプリケーションのメモリ使用量を調整:
# ヒープサイズの設定例
java -Xms512m -Xmx2g MyApplication
-Xms
は初期ヒープサイズ、-Xmx
は最大ヒープサイズを指定します。
ガベージコレクションの調整
# G1GCの使用(Java 9以降で推奨)
java -XX:+UseG1GC MyApplication
開発環境の設定
IDEのインストールと設定
Visual Studio Code の設定
- VSCodeのインストール:
sudo snap install --classic code
- Java拡張機能のインストール:
- Extension Pack for Javaをインストール
- 自動的にJavaプロジェクトを認識
IntelliJ IDEA Community Edition
sudo snap install intellij-idea-community --classic
Eclipse IDE
sudo snap install eclipse --classic
説明: これらのIDEは、Javaの開発を効率的に行うための統合開発環境です。
ビルドツールの設定
Maven のインストール
sudo apt install maven
Gradle のインストール
sudo apt install gradle
動作確認
mvn -version
gradle -version
まとめ
インストール方法の振り返り
UbuntuでJavaをインストールする方法をまとめると、以下のようになります:
推奨手順(初心者向け)
- システムの更新:
sudo apt update
- OpenJDK 17のインストール:
sudo apt install openjdk-17-jdk
- インストール確認:
java -version
- 環境変数設定(必要に応じて):
JAVA_HOME
の設定
重要なポイント
セキュリティの維持
- 定期的なアップデート:
sudo apt update && sudo apt upgrade
- セキュリティパッチの適用
- 不要なバージョンの削除
バックアップの重要性
- 開発したプログラムのバックアップ
- 設定ファイルの保存
- プロジェクト全体の版管理
コメント