Mac VSCode JavaでHelloWorldした


はじめに

タイトル通り、ただHelloWorldするだけです。
よくある標準出力するだけの課題とかをささっとすますにはいいかもしれません。
今からこの環境でWebアプリとか作っちゃうんだ!って人にはお勧めしません。
他にIntelliJ IDEA, Eclipse + Pleiades, NetBeansでの環境構築をしている記事等々あると思うので、そちらを参考にしてください。
どうしても、VSCodeでやってみたいんだ!って人だけ参考にしていただければと思います。

動作確認した環境

  • macOS : Catalina 10.15.5
  • VSCode : 1.45.1
  • Java : Amazon Correto 11.0.7

方法

Javaはすでに入っているよと言う人は、「VSCodeにJavaの拡張を入れる」まで飛ばしてください。

SDKMAN!をインストールする

SDKMAN!は簡単に言うと同一環境で複数のJavaを管理するためのツールです。
こちらを参考にSDKMAN!をインストールしましょう。
https://sdkman.io/install

お持ちのMacのOSのバージョンが購入時点でCatalinaの場合は最初のcurlを以下のように変更しておきましょう。

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

CatalinaからMacのデフォルトシェルはzshになっています。
fishとかは試していないので、知っているからがいらっしゃったら教えて欲しいです。

SDKMAN!でお好みのJavaをインストールする

まず、以下のコマンドを実行しSDKMAN!でインストールできるJavaを確認しておきましょう。

sdk list java

そうすると、以下のように出力されます。(2020/6現在)
出力されない場合はSDKMAN!のインストールがうまくできていないです。

================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 AdoptOpenJDK  |     | 14.0.1.j9    | adpt    |            | 14.0.1.j9-adpt
               |     | 14.0.1.hs    | adpt    |            | 14.0.1.hs-adpt
               |     | 13.0.2.j9    | adpt    |            | 13.0.2.j9-adpt
               |     | 13.0.2.hs    | adpt    |            | 13.0.2.hs-adpt
               |     | 12.0.2.j9    | adpt    |            | 12.0.2.j9-adpt
               |     | 12.0.2.hs    | adpt    |            | 12.0.2.hs-adpt
               |     | 11.0.7.j9    | adpt    |            | 11.0.7.j9-adpt
               |     | 11.0.7.hs    | adpt    |            | 11.0.7.hs-adpt
               |     | 8.0.252.j9   | adpt    |            | 8.0.252.j9-adpt
               |     | 8.0.252.hs   | adpt    |            | 8.0.252.hs-adpt
 Amazon        | >>> | 11.0.7       | amzn    | installed  | 11.0.7-amzn
               |     | 8.0.252      | amzn    |            | 8.0.252-amzn
               |     | 8.0.202      | amzn    |            | 8.0.202-amzn
 Azul Zulu     |     | 14.0.1       | zulu    |            | 14.0.1-zulu
               |     | 13.0.3       | zulu    |            | 13.0.3-zulu
               |     | 13.0.3.fx    | zulu    |            | 13.0.3.fx-zulu
               |     | 12.0.2       | zulu    |            | 12.0.2-zulu
               |     | 11.0.7       | zulu    |            | 11.0.7-zulu
               |     | 11.0.7.fx    | zulu    |            | 11.0.7.fx-zulu
               |     | 10.0.2       | zulu    |            | 10.0.2-zulu
               |     | 9.0.7        | zulu    |            | 9.0.7-zulu
               |     | 8.0.252      | zulu    |            | 8.0.252-zulu
               |     | 8.0.252.fx   | zulu    |            | 8.0.252.fx-zulu
               |     | 8.0.232.fx   | zulu    |            | 8.0.232.fx-zulu
               |     | 8.0.202      | zulu    |            | 8.0.202-zulu
               |     | 7.0.262      | zulu    |            | 7.0.262-zulu
               |     | 7.0.181      | zulu    |            | 7.0.181-zulu
 BellSoft      |     | 14.0.1.fx    | librca  |            | 14.0.1.fx-librca
               |     | 14.0.1       | librca  |            | 14.0.1-librca
               |     | 13.0.2.fx    | librca  |            | 13.0.2.fx-librca
               |     | 13.0.2       | librca  |            | 13.0.2-librca
               |     | 12.0.2       | librca  |            | 12.0.2-librca
               |     | 11.0.7.fx    | librca  |            | 11.0.7.fx-librca
               |     | 11.0.7       | librca  |            | 11.0.7-librca
               |     | 8.0.252.fx   | librca  |            | 8.0.252.fx-librca
               |     | 8.0.252      | librca  |            | 8.0.252-librca
 GraalVM       |     | 20.1.0.r11   | grl     |            | 20.1.0.r11-grl
               |     | 20.1.0.r8    | grl     |            | 20.1.0.r8-grl
               |     | 20.0.0.r11   | grl     |            | 20.0.0.r11-grl
               |     | 20.0.0.r8    | grl     |            | 20.0.0.r8-grl
               |     | 19.3.1.r11   | grl     |            | 19.3.1.r11-grl
               |     | 19.3.1.r8    | grl     |            | 19.3.1.r8-grl
 Java.net      |     | 15.ea.26     | open    |            | 15.ea.26-open
               |     | 14.0.1       | open    |            | 14.0.1-open
               |     | 13.0.2       | open    |            | 13.0.2-open
               |     | 12.0.2       | open    |            | 12.0.2-open
               |     | 11.0.2       | open    |            | 11.0.2-open
               |     | 10.0.2       | open    |            | 10.0.2-open
               |     | 9.0.4        | open    |            | 9.0.4-open
 SAP           |     | 14.0.1       | sapmchn |            | 14.0.1-sapmchn
               |     | 13.0.2       | sapmchn |            | 13.0.2-sapmchn
               |     | 12.0.2       | sapmchn |            | 12.0.2-sapmchn
               |     | 11.0.7       | sapmchn |            | 11.0.7-sapmchn
================================================================================
Use the Identifier for installation:

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

私はAmazon Corretto 11.0.7を入れているので、Installedになっています。
以下はCorrettoをインストールする例です。
11.0.7-amznを好きなIdentifierに変更ください。

$ sdk install java 11.0.7-amzn

それではちゃんとJavaがインストールされているか確認しましょう!

$ java --version
openjdk 11.0.7 2020-04-14 LTS
OpenJDK Runtime Environment Corretto-11.0.7.10.1 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.7.10.1 (build 11.0.7+10-LTS, mixed mode)

インストールされたJavaが表示されたら成功です。

VSCodeにJavaの拡張を入れる

VSCodeを立ち上げ、拡張機能の検索でJavaと検索しましょう。
Java Extension Packを選択し、インストールしてください。

Javaのプロジェクトを作成する

拡張を入れたことによってJavaのプロジェクトを作成することが可能になっています。
Shift + Command + Pでコマンドパレットを開き、Javaと入力してください。

このように色々とコマンドが出てきます。
Java: Create Java Projectを選択してください。
そうすると、以下のように表示されます。

この記事ではHelloWorldを出すことしか考えていないので、とりあえずNo build toolsを選択します。
どこに作るか聞かれるので、お好きなディレクトリにお好きな名前で作ってください。
そうすると、画面の右下に以下のように表示されます。

何度も言いますが、HelloWorldをするだけなのでとりあえずNeverを選んでおいてください。
そうすると、このような構成でプロジェクトが作成されます。

App.javaを選択すると念願のHelloWorldを出力するだけのmainメソッドが表示されるのでRunをクリックしてください。

念願のHelloWorldが表示されます!