Visual Studio Code で Java 8 の開発環境を構築する

Java の開発では、Eclipse や IntelliJ を利用される方やプロジェクトが多いかと思いますが、Visual Studio Code も使い勝手の良い IDE です。VSCode は他の IDE と比べて軽いというのが大きな利点かと思います。個人的には UI も好みです。今使っている IDE から VSCode に乗り換えてみたい方もいるでしょう。

ただ、Java 11 以降であれば環境構築はスムーズに行えるのですが、Java 8 の場合は少し工夫が必要です。

以降では VSCode で Java 8 を利用する開発環境の構築方法を紹介します。

# 開発環境の構築手順

## 1. Java 8 をインストール

ここではサンプルとして Red Hat の OpenJDK 8 のインストール手順を紹介していますが、他の JDK でも構いません。
既にインストール済みであれば、この章はスキップしてください。

まず https://developers.redhat.com/products/openjdk/download から OpenJDK 8 のインストーラをダウンロードしてください。
そしてダウンロードしたインストーラを開き、OpenJDK をインストールしてください。

インストールを完了すると、環境変数の「Path」に OpenJDK のパスが自動的に追加されます。その値をコピーします。

**例**

```
C:\(OpenJDK のパス)\bin
```

そして以下の環境変数を新規作成します。

- 変数名: JAVA_HOME
- 変数値: 上記でコピーした(OpenJDK のパス)の部分

**例**

```
JAVA_HOME=C:\(OpenJDK のパス)
```

その後、環境変数の「Path」に追加された以下の値を書き換えてください。

- C:\\\(OpenJDK のパス\)\\bin → %JAVA_HOME%\\bin
- C:\\\(OpenJDK のパス\)\\jre\\bin → %JAVA_HOME%\\jre\\bin

最後に java コマンドを実行し、正しく設定できていることを確認してください。

```
java -version
```

**実行結果例**

```
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
```

## 2. Maven 3 をインストール

ここではサンプルとして Maven のインストール手順を紹介していますが、Gradle でも構いません。
既に Maven をインストール済みであれば、この章はスキップしてください。

https://maven.apache.org/download.cgi から Maven の圧縮ファイルをダウンロードし、任意の場所で解凍してください。

解凍後、以下の環境変数を新規作成します。

- 変数名: M3_HOME
- 変数値: 解凍したMavenのパス

その後、環境変数の「Path」に以下の値を追加します。

- %M3_HOME%\\bin

最後に mvn コマンドを実行し、正しく設定できていることを確認してください。

```
mvn -version
```

**実行結果例** （Maven は C:\Program Files に配置）

```
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\Program Files\apache-maven-3.6.3\bin\..
Java version: 1.8.0_282, vendor: Red Hat, Inc., runtime: C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.282-1\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
```

## 3. VSCode に Java の拡張機能をインストールする

拡張機能「Java Extension Pack」をインストールしてください。
![JavaExtensionPack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/945225/7867bdaf-0a00-b7cb-fedb-9308388d180c.png)
Java Extension Pack は以下の拡張機能のパッケージになっています。つまりこれらの拡張機能がすべてインストールされます。

- Language Support for Java(TM) by Red Hat
- Debugger for Java
- Java Test Runner
- Maven for Java
- Project Manager for Java
- Visual Studio IntelliCode

ただ、このうち「Language Support for Java(TM) by Red Hat」は Java 8 に対応しておりません。
厳密にはこの拡張機能の 0.65.0 以降のバージョンが Java 8 に対応していません。そのため、0.65.0 以前のバージョンをインストールし直す必要があります。

VSCode からインストールした「Language Support for Java(TM) by Red Hat」を選択し、右クリックもしくは歯車アイコンをクリックし、「別のバージョンをインストール」を選択してください。
![LanguageSupportforJavabyRedHatのバージョン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/945225/0915e74e-f471-cf90-0d9d-c98ac8a1ce20.png)
そして 0.65.0 より古いバージョンである 0.64.1 を選択します。
インストールが始まり、終了すると「再読み込みが必要です」と表示されますのでそれをクリックしてください。

## 4. Java プロジェクトを開く

適当な Java プロジェクトを作成し、それを VSCode で開いてください。Maven または Gradle のどちらを使用したプロジェクトでも構いません。既に Java プロジェクトがある場合はそれを利用しても構いません。
Java 8 を利用する案件に参画された方であれば、Git リポジトリから既存プロジェクトのコード一式をクローンするのが手っ取り早いかと思います。

VSCodeを開くと、画面右下に「The workspace contains Java projects, would you like to import them?」と表示されますので、これに対して「Yes」もしくは「Always」を選択してください。
![VSCodeの通知.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/945225/2439111f-1389-88ef-e360-136b803dc7af.png)

これで環境構築は完了です。
正常に完了していれば、Java のコードのデバッグが可能になっています。