AdoptOpenJDK11をインストールしてJava11を使えるようにする(Hello worldの出力まで)【macOS】

macOS版のAdoptOpenJDK11をインストールして、ターミナル上でHello worldを出力するJavaプログラムをコンパイル〜実行するまでをやっています。初めてJDKをインストールして、Javaプログラムの作成からコンパイルと実行までを試してみたいという入門者・初心者の方は、参考にしてください。

※ 本ページはプロモーションが含まれています。

動作環境とこのページの目的

最終更新日:2023/5/28

macOSにJavaの開発キットのJDKをインストールしたので、その時にやった事を書いています。インストールしたJDKのバージョンは、LTSのJDK11です(LTSはLong Term Supportの略で長期サポート安定版の事です)。macOSはCatalina(バージョン10.15.5)です。

また、JDKにはいくつかのディストリビューションがありますが、Oracle JDKは商用では有償化されたようなので、無償で利用できるAdoptOpenJDKをインストールします。JDKのディストリビューションについては、下のサイトがわかりやすく説明されています。
Oracle Java有償化。無料で商用利用可能なJavaはどれを選ぶか

■最新バージョンのOpenJDKについて
このページでダウンロード&インストールの説明をしているOpenJDK11(Java11)は現時点(2023/5/28時点)では少し古いバージョンです。現時点(2023/5/28時点)のOpenJDKの最新版はLTSがOpenJDK17(Java17)、非LTSがOpenJDK20(Java20)です。

別ページで、macにEclipse Temurin(Adoptium)のOpenJDK17(LTSの最新版バージョン)のダウンロードからインストール方法の手順について説明しているので、新しいバージョンのOpenJDKをインストールしたい方はこちらを参考にしてください。
OpenJDK17をインストールする【macOS】

Eclipse TemurinのOpenJDKは、AdoptOpenJDKの後継です。AdoptOpenJDKがEclipse Foundationに加わってEclipse Temurin(Adoptium)になりました。

また別ページで、AWSのec2環境でAmazonのOpenJDK17、OpenJDK20をインストールする方法についてや、CentOS7環境でのOpenJDK17(JREも)、OpenJDK20をインストールする方法については書いているので(Eclipse Temurin(Eclipse Adoptium)とMicrosoft Build of OpenJDK)、良ければこちらも参考にしてください。
OpenJDKをインストールする【ec2(Amazon Linux 2,2023)】
OpenJDKをインストールする【CentOS7】

AdoptOpenJDK11(Java11)をダウンロードしてインストールする

下記で紹介しているAdoptOpenJDKのサイトへ行くと、Adoptiumのサイトへリダイレクトされます。
上で説明しましたが、AdoptOpenJDKはEclipse Foundationに参加してEclipse Temurin(Adoptium)になっています。Eclipse TemurinのOpenJDKのインストール方法については別ページで説明しています。
OpenJDK17をインストールする【macOS】

まずAdoptOpenJDKのサイトへ行って、AdoptOpenJDK11のインストーラをダウンロードします。
バージョンはOpenJDK 11 (LTS)を選択し、JVMはHotSpotを選択して「Latest release」ボタンを押すと、インストーラのダウンロードが始まります。ダウンロードしたファイルはOpenJDK11U-jdk_x64_mac_hotspot_11.0.8_10.pkgです(2020/8/26時点)。

JVMはHotSpotとOpenJ9の2つありますが、Supported Platformsページを見る限り、両方ともlinux・mac・windowsの64bitのプラットフォームをサポートしているようなのでどちらでも良さそうです。今回はHotSpotを選択しました。
AdoptOpenJDK11をダウンロード【mac環境】

ダウンロードしたパッケージファイル(OpenJDK11U-jdk_x64_mac_hotspot_11.0.8_10.pkg)をクリックして、インストーラを起動します。最初はようこそ画面ですので、続けるを選択します。
AdoptOpenJDK11をインストール1【mac環境】

次は、使用許諾契約画面です。一読して問題なければ続けるを選択します。

次は、インストールの種類画面です。インストールを選択します(インストール先を指定したい場合は変更してください。)

インストールが始まり、インストール完了画面が出て終了しました。

これでインストールができているはずなので、ターミナルからjavaとjavacコマンドで確認してみます。

$ java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)

$ java -h
使用方法: java [options]  [args...]
           (クラスを実行する場合)
   または  java [options] -jar  [args...]
           (jarファイルを実行する場合)

〜

$ javac -version
javac 11.0.8

AdoptOpenJDKのバージョン11.0.8のインストールができている事が確認できました。

ちなみにAdoptOpenJDKのインストール先(ディレクトリパス)はこちらです。

/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk

その他のAdoptOpenJDK11のインストール後の情報のメモです。

$ which java
/usr/bin/java

$ which javac
/usr/bin/javac

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

$ /usr/libexec/java_home --verbose
Matching Java Virtual Machines (1):
    11.0.8 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

$ /usr/libexec/java_home -X
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>JVMArch</key>
		<string>x86_64</string>
		<key>JVMBundleID</key>
		<string>net.adoptopenjdk.11.jdk</string>
		<key>JVMEnabled</key>
		<true/>
		<key>JVMHomePath</key>
		<string>/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home</string>
		<key>JVMName</key>
		<string>AdoptOpenJDK 11</string>
		<key>JVMPlatformVersion</key>
		<string>11.0.8+10</string>
		<key>JVMVendor</key>
		<string>AdoptOpenJDK</string>
		<key>JVMVersion</key>
		<string>11.0.8</string>
	</dict>
</array>
</plist>

コンパイル〜実行をしてHello worldを出力

せっかくインストールしたので、Hello worldを出力するJavaプログラム(HelloWorld.javaファイル)を書き、ターミナル(コマンドライン)でjavacコマンドでコンパイルし、実行してHello worldを出力するところまでやってみます。

#javaのソース
$ cat HelloWorld.java 
class HelloWorld {
 public static void main(String[] args) {
 System.out.println("Hello, world.");
 }
}

#ソースファイルをコンパイル
$ javac HelloWorld.java 

# 実行する
$ java HelloWorld
Hello, world.

コンパイルから実行まで問題なくできました。今回はコマンドラインで簡単なプログラムのコンパイルから実行までをやりましたが、実際は、Eclipseやintellij IDEなどの統合開発環境でプログラミングの学習や開発を進めていくことになると思います。
Java入門書の紹介・レビュー

Eclipseの導入(ダウンロードからインストール)については別ページで説明していますので、そちらも参考にしてみてください。
【Java初心者】Eclipse(Pleiades All in One)をインスールしてJava開発ができるようにする【macOS版】

AdoptOpenJDK11をアンインストール(削除)する

AdoptOpenJDK11のアンインストールについても試して確認してみます。

AdoptOpenJDK11のアンインストールはrmコマンドで本体を削除するだけです(実行したら消える)。

$ sudo rm -rf /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk
Password:

アンインストール後(rmコマンドで削除後)の確認です。java,javacコマンドは使えなくなりました。

$ java
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

$ javac
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

その他のJava関連のページ

Javaプログラミング入門ガイド
Javaプログラミングの入門レベルから、Javaプログラマとしてさらにスキルアップするために必要な事などについて書いています。

Spring Boot2で日記投稿ウェブアプリ開発入門トップページ
Spring Bootでシンプルな日記投稿ウェブアプリの開発しながら、入門者・初心者にもわかりやすいように説明しています。DBを使用して、新規投稿、編集、削除、一覧表示という基本的なCRUD機能を備えたアプリです。