やりたいこと
WindowsでSpring Bootを動かす環境を作りたい。
せっかくWindowsでやるならWSL上で作ってそれをVS Codeでよしなに開発するのが今風な気がするのでそれを目指す。
まずはWindows上のみで動かし、そのあとWSL上で動かす。
やったこと
Windows上のみで動かす
OpenJDKのインストール
http://jdk.java.net/14/ からWindows用のJDKをzipでダウンロードして展開する。
出来たフォルダを適当なパスへ移動する。今回はC:\Program Files\Java\jdk-14
以下に置いた。
また、システム環境変数に下記を設定する。
変数 | 値 |
---|---|
JAVA_HOME | C:\Program Files\Java\jdk-14 |
Path | 先頭に %JAVA_HOME%bin を追加 |
VS Codeの設定
拡張機能のインストール
下記をインストールした。
- Language Support for Java(TM) by Red Hat
- Gradle Language Support
- Java Extension Pack
- Spring Boot Extension Pack
- Lombok Annotations Support for VS Code
java.homeの設定
settings.jsonに下記のようにJDKのパスを指定する(他に項目があれば追加する形で)。
{
"java.home": "C:\\Program Files\\Java\\jdk-14"
}
設定画面でjava.home
と入れて検索すると、settings.jsonで編集するリンクが出て来る。
Javaのプロジェクトを試しに作って動かす
Ctrl+Shift+Pでコマンドパレットを開き、Create Java Project
を実行する。
保存場所・プロジェクト名を適当に入力したらプロジェクトが作成されてVS Codeで開かれる。
F5でデバッグ実行して、Hello Java
と表示されるか確認出来ればOK。
Springのプロジェクトを試しに作って動かす
Ctrl+Shift+Pでコマンドパレットを開き、Spring Initiallizr: Generate a Gradle Project
を実行する。
(Mavenで作成してもいいけどGradleで)
依存パッケージはひとまず空で作成して、実行する。デバッグコンソールにSpringのロゴが出て実行されればOK。
WSLで動かす
OpenJDKのインストール
WSL上でOpenJDKをインストールする。
aptコマンドでインストール出来るのはOpenJDK11のようなのでこれを使う。
$ sudo apt update
$ sudo apt install -y openjdk-11-jdk
gradleのインストール
aptで入れると古いようだが、ひとまず入れる。
$ sudo apt install -y gradle
VS Codeの設定
拡張機能のインストール
まず下記をインストールする。
- Remote Development
インストール後にWSLターミナルでcode
と打つと、WSLの環境を向いたVS Codeが立ち上がるようになる。
その状態でWindows向けのVS Codeでインストールした拡張機能を改めてインストールする。
※インストールボタンのラベルがInstall in WSL:Ubuntu
になる。
java.homeの設定
settings.jsonに設定したjava.homeの値を変更する。
{
"java.home": "/usr/lib/jvm/java-11-openjdk-amd64"
}
Javaのプロジェクトを試しに作って動かす
Ctrl+Shift+Pでコマンドパレットを開き、Create Java Project
を実行する。
保存場所・プロジェクト名を適当に入力したらプロジェクトが作成されてVS Codeで開かれる。
F5でデバッグ実行して、Hello Java
と表示されるか確認出来ればOK。
Springのプロジェクトを試しに作って動かす
Ctrl+Shift+Pでコマンドパレットを開き、Spring Initiallizr: Generate a Gradle Project
を実行する。
依存パッケージはひとまず空で作成して、実行する。デバッグコンソールにSpringのロゴが出て実行されればOK。
Spring Webを試す
Spring Initiallizrでプロジェクト作成時にSpring Webを利用する設定で作成する。
main()があるApplicationクラスに@RestController
アノテーションを付け、クラス内に適当に下記のようなメソッドを作成する。
@GetMapping("/")
String home() {
return "Hello!";
}
アプリケーションを動かし、http://localhost:8080/ にアクセスしてHello!
が表示されればOK。
リポジトリ:https://github.com/stamefusa/spring-web-demo
参考にしたエントリ
https://qiita.com/gitcho/items/a6c0bb781bc395e43ec4
https://qiita.com/gitcho/items/147a3ce2536ae3035bb8