初回授業の開始前に行っておくこと

この講義では,Javaを使ったプログラミングの演習科目です. そのため,Javaとエディタが必要です. 以下の内容を読み,必要なソフトウェアをインストールしてください.

インストール確認

まず,Java がインストールされているかを確認する. ターミナルを開き,java -versionjavac -versionをそれぞれ入力して結果を確認してください. 以下のような出力が得られた場合,Javaのインストールは行われていません. Javaのインストールに書かれている項目を確認し,Javaをインストールすること.

$ java -version
java: command not found # <= javaがインストールされていない.
$ javac -version
javac: command not found

インストールされている場合は,出力されたバージョン番号を確認してください. 出力の先頭行に 1.8.0_282 のようなバージョン番号を確認しましょう. このバージョン番号が 1.8.0_282 もしくは,最後の数値が 282 よりも大きな数値になっていれば最新の Java がインストールされています. もし,出力されたバージョン番号が 1.7.0_xxx や最後の数値が 282 より前の数値になっていると古い Java 環境しかインストールされていないため, Javaのインストールを参考に, 最新の Java をインストールするようにしてください.

$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment Corretto-8.282.08.1 (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM Corretto-8.282.08.1 (build 25.282-b08, mixed mode)
$ javac -version
javac 1.8.0_282

なお,古いバージョンのソフトウェアは本講義ではサポートしません. 特にバージョンが 1.7.0_xxx 以前のものでは動かないサンプルプログラムも存在します. Oracle からのサポートもすでに切れており,使い続けること自体が推奨されないためです. そのため,上記のバージョンを確認し,最新の Java をインストールしておいてください. バージョンアップを行わないことによる不利益は自身で対応するようにしてください.

また,Javaの最新バージョンは,16 です(Java 16は2021年3月16日リリース) なお,Java 1.8 → Java 9 → Java 10 → Java 11 → Java 12 → Java 13 → Java 14 → Java 15 → Java 16の順にバージョンが更新されています. しかし,Java 9 から大規模な変更が行われているため,Java 9以降で導入された機能は本講義の対象外とし, 本講義で利用するバージョンは Java 1.8 とします. ただし,動作自体は問題ありませんので, 16.X.X がインストールされている場合,改めて Java 1.8 をインストールする必要はありません.

なお,Java 9,Java 10,Java 12,Java 13,Java 14,Java 15 は Java 16 がリリースされたことによって,Oracleによる公式アップデートはすでに終了しています. 加えて,Oracle が提供する Java 1.8 もサポートが切れています. Java 11は長期サポート(LTS: Long Term Support)の対象になっているため,公式アップデートは 2021年9月まで受けられる予定です(2021年9月に Java 17がリリース予定で,この Java 17が次のLTSになっています).

本講義では,AWS (Amazon Web Service) が提供する Amazon Corretto 8 を使います. Amazon Corretto は オープンソースのJDKである OpenJDK の一つで Java 1.8 に相当し,2024年8月までサポートされる予定です.

Javaのインストール

手元の macOS に Java をインストールするには,次の3通りあります.

  1. Sdkmanを利用する方法,
  2. Homebrewを利用する方法,
  3. インストーラパッケージを入手し,自分自身でインストールする方法

各自,自分の好きな方法を選択し,インストールしてください. なお,この3つ(もしくはこの3つのうちの2つ)を併用することは難しいため,どれか1つを選んでください.

複数バージョンのJavaを切り替えながら利用したいのであれば,sdkman,もしくはbrew+anyenvjenv)を利用してください. 全部自分で管理したい場合は,最後のインストーラを利用したインストールを利用してください. 上記の内容がよくわからない場合はsdkmanを利用してください.

sdkmanを使ったインストール

sdkman のインストール

ターミナルにて,sdkコマンドを実行してください.ヘルプメッセージが出てくればインストールされています. sdk: command not found と表示される場合はインストールされていません. Sdkman をインストールするには,ターミナルで以下のコマンドを実行した後,新しいターミナルのウィンドウを開いてください.

$ curl -s "https://get.sdkman.io" | bash

詳細はSdkmanのページを確認してください.

sdkman を使ったJavaのインストール

まず,有効なJavaのバージョンを確認するため,sdk list javaとコマンドを入力してください.

$ sdk list java
================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 AdoptOpenJDK  |     | 16.0.0.j9    | adpt    |            | 16.0.0.j9-adpt      
               |     | 16.0.0.hs    | adpt    |            | 16.0.0.hs-adpt      
               |     | 15.0.2.j9    | adpt    |            | 15.0.2.j9-adpt      
               |     | 15.0.2.hs    | adpt    |            | 15.0.2.hs-adpt      
               |     | 11.0.10.j9   | adpt    |            | 11.0.10.j9-adpt     
               |     | 11.0.10.hs   | adpt    |            | 11.0.10.hs-adpt     
               |     | 11.0.9.open  | adpt    |            | 11.0.9.open-adpt    
               |     | 8.0.282.j9   | adpt    |            | 8.0.282.j9-adpt     
               |     | 8.0.282.hs   | adpt    |            | 8.0.282.hs-adpt     
               |     | 8.0.275.open | adpt    |            | 8.0.275.open-adpt   
               |     | 8.0.272.hs   | adpt    |            | 8.0.272.hs-adpt     
 Alibaba       |     | 11.0.9.4     | albba   |            | 11.0.9.4-albba      
               |     | 11.0.8       | albba   |            | 11.0.8-albba        
               |     | 8u272        | albba   |            | 8u272-albba         
               |     | 8.5.5        | albba   |            | 8.5.5-albba         
 Amazon        |     | 16.0.0.36.1  | amzn    |            | 16.0.0.36.1-amzn    
               |     | 15.0.2.7.1   | amzn    |            | 15.0.2.7.1-amzn     
               |     | 11.0.10.9.1  | amzn    |            | 11.0.10.9.1-amzn    
               |     | 8.282.08.1   | amzn    |            | 8.282.08.1-amzn     
 Azul Zulu     |     | 16.0.0       | zulu    |            | 16.0.0-zulu         
               |     | 16.0.0.fx    | zulu    |            | 16.0.0.fx-zulu      
               |     | 15.0.2       | zulu    |            | 15.0.2-zulu         
               |     | 15.0.2.fx    | zulu    |            | 15.0.2.fx-zulu      
               |     | 11.0.10      | zulu    |            | 11.0.10-zulu        
               |     | 11.0.10.fx   | zulu    |            | 11.0.10.fx-zulu     
               |     | 8.0.282      | zulu    |            | 8.0.282-zulu        
               |     | 8.0.282.fx   | zulu    |            | 8.0.282.fx-zulu     
               |     | 6.0.119      | zulu    |            | 6.0.119-zulu        
 BellSoft      |     | 15.0.2.fx    | librca  |            | 15.0.2.fx-librca    
               |     | 15.0.2       | librca  |            | 15.0.2-librca       
               |     | 11.0.10.fx   | librca  |            | 11.0.10.fx-librca   
               |     | 11.0.10      | librca  |            | 11.0.10-librca      
               |     | 8.0.282.fx   | librca  |            | 8.0.282.fx-librca   
               |     | 8.0.282      | librca  |            | 8.0.282-librca      
 GraalVM       |     | 21.0.0.2.r11 | grl     |            | 21.0.0.2.r11-grl    
               |     | 21.0.0.2.r8  | grl     |            | 21.0.0.2.r8-grl     
               |     | 20.3.1.2.r11 | grl     |            | 20.3.1.2.r11-grl    
               |     | 20.3.1.2.r8  | grl     |            | 20.3.1.2.r8-grl     
               |     | 19.3.5.r11   | grl     |            | 19.3.5.r11-grl      
               |     | 19.3.5.r8    | grl     |            | 19.3.5.r8-grl       
 Java.net      |     | 17.ea.13     | open    |            | 17.ea.13-open       
               |     | 17.ea.4.lm   | open    |            | 17.ea.4.lm-open     
               |     | 17.ea.2.pma  | open    |            | 17.ea.2.pma-open    
               |     | 17.ea.2.lm   | open    |            | 17.ea.2.lm-open     
               |     | 16           | open    |            | 16-open             
               |     | 16.ea.36     | open    |            | 16.ea.36-open       
               |     | 15.0.2       | open    |            | 15.0.2-open         
               |     | 11.0.10      | open    |            | 11.0.10-open        
               |     | 11.0.2       | open    |            | 11.0.2-open         
               |     | 8.0.282      | open    |            | 8.0.282-open        
               |     | 8.0.265      | open    |            | 8.0.265-open        
 Mandrel       |     | 21.0.0.0     | mandrel |            | 21.0.0.0-mandrel    
               |     | 20.3.1.2     | mandrel |            | 20.3.1.2-mandrel    
               |     | 20.1.0.4     | mandrel |            | 20.1.0.4-mandrel    
 SAP           |     | 16           | sapmchn |            | 16-sapmchn          
               |     | 15.0.2       | sapmchn |            | 15.0.2-sapmchn      
               |     | 11.0.10      | sapmchn |            | 11.0.10-sapmchn     
 TravaOpenJDK  |     | 11.0.9       | trava   |            | 11.0.9-trava        
               |     | 8.0.232      | trava   |            | 8.0.232-trava       
================================================================================
Use the Identifier for installation:

    $ sdk install java 11.0.3.hs-adpt
================================================================================

様々なベンダからJavaの開発環境(JDK; Java Development Kit)が公開されています. AWSや,Oracle,java.net(OpenJDK)などです.

この中で,Amazon の行が3行あることを確認し,そのVersionの列,Identifier の列を見てください. Identifier の列がこれからインストールする Java のバージョンの文字列です.

$ sdk install java 8.282.08.1-amzn
    # java 8.282.08.1-amzn がインストールされる.
    # sdk list java の結果で 上記の 8.282.08.1-amzn は異なる値になっているかもしれません.

Homebrewを使ったインストール

macOS用のパッケージマネージャの一つである Homebrew(brewコマンド)を利用して Java をインストールする方法を記します.

Homebrew のインストール

ターミナルにて,brewコマンドを実行してください.ヘルプメッセージが出てくればインストールされています. brew: command not found と表示される場合はインストールされていません. ターミナルで次のコマンドを実行した後,新しいターミナルのウィンドウを開いてください.

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

詳細はHomebrewのページを確認してください.

Homebrew を使ったJavaのインストール

Homebrew でJavaをインストールするには,Homebrew caskの利用が必要です. Homebrew cask をすでに利用している場合は,次のコマンドをターミナルで実行するとJavaのインストールが行われます ($より後ろ,#より前を入力して Enter をタイプすること).

$ brew tap caskroom/cask
    # Homebrew cask の利用を開始する.
    # すでに利用している場合は上の行は不要.
$ brew install corretto8
    # Homebrew cask を利用して Java をインストールする.

ここでは,Amazon Web Service が提供するAmazon Correttoという Java の開発環境を利用します.

インストーラを利用したインストール

ここでは,Javaの配布元である Oracle からインストーラパッケージをダウンロードし, インストーラパッケージからJavaをインストールする方法を記します.

Amazon Corretto 8のダウンロードページから amazon-corretto-8-x64-macos-jdk.pkg をダウンロードしてください.

その後は,通常のインストーラパッケージでインストールするときと同じように, ダウンロードしてできたインストーラパッケージをダブルクリックし, インストーラの指示に従ってインストールしてください.

エディタのインストール

この講義では,基礎プログラミング演習I, IIと同様に,エディタを利用してプログラムを作成します. 自身の使いやすいエディタを選び,インストールしてください. その際,次の機能の使い方を知っておくと,これ以降の演習の手間が大きく省けるでしょう.

おすすめのエディタ