🌟

VS CodeでSpringアプリケーション開発

2023/01/06に公開

はじめに

javaと言えばeclipseな世代です。
久しく本格的にjavaで開発していないので、eclipseは基本的にPCに入れていません。
普段の開発はVS Codeが多いので、VS Codeで何とかならないかと思い試してみました。

InteliJでいいじゃんていうのは無しで。

結論

いけた。
割とサクサクしている気がする。

準備

拡張機能のインストール

色々あるけれどサクっと行きたいので、Exention Pack中心に

Extension Pack for Java

言語サポート、プロジェクト管理、デバッガ、テストランナー、Mavenなどがパックになっています。

  • Language Support for Java(TM) by Red Hat
  • Debugger for Java
  • Test Runner for Java
  • Maven for Java
  • Project Manager for Java

Mavenじゃなくてgradleがいいって方はこちらを追加で入れておけばよいかと思います。

  • Gradle for Java

Spring Boot Extension Pack

SpringのExension Packも入れておきます。

  • Spring Boot Tools
  • Spring Initializr Java Support
  • Spring Boot Dashboard

手順

プロジェクト作成

適当にVS Codeを開き、F1クリックし、「spring」と入力すると絞り込めるので、
「Spring Initializr: Create Maven a Project...」を選択

色々聞かれるので選択していきます。

  • バージョン:3.0.1

  • プロジェクト:Java

  • グループID:com.example(デフォルト)

アーティファクトID:demo(デフォルト)

パッケージ:war

javaバージョン:19

依存関係:必要に応じて

今回は、下記を指定しました。
この辺は後からpomに追加していってもよいかと思います。

  • Spring Boot DevTools
  • Lombok
  • Spring Web
  • Thymeleaf
  • Spring Security
  • MySQL Driver

最後にプロジェクトを作成するディレクトリを選択

これでプロジェクトが作成されます。

プロジェクトを開く

作成されたプロジェクトをVS Codeで開くとこんな感じ

右下の「JAVA PROJECTS」がパッケージエクスプローラー的な感じでしょうか。

Maven関係のコマンドは「MAVEN」を開いて右クリックすれば色々出てきます。

Maven Install

とにもかくにもMaven Install

エラー

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project demo: Fatal error compiling: エラー: 19は無効なターゲット・リリースです -> [Help 1]
[

調子に乗りすぎて最新選びすぎたようです。

$java -version
java version "16.0.2" 2021-07-20
Java(TM) SE Runtime Environment (build 16.0.2+7-67)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)

PCに入っているjavaが古いので最新化して再実行

今度はうまくいきました。

ちなみにターミナルからコマンド実行でも可能です。

./mvnw install -f pom.xml

実行

実行とデバッグを開きます。

デバッガを選択:java

デバッグ実行が始まります。
デフォルトだと8080ポートを使用するので、他で使っていたら空けておきましょう。

http://localhost:8080/ にアクセスします。
※Spring Securityを入れているので、login画面が表示されました。

  • ブレイクポイントを付与
    eclipse同様ファイルの左端をクリックで可能

  • 再実行
    ブレイクポイントで止まります。

ステップイン等の操作はVS Code上のアイコン操作で行います。
それぞれショートカットも割り当てられています。

  • ステップイン:F11
  • ステップオーバー:F10
  • 続行:F5

また、変数などは自動的に値を表示してくれます。

デバッグ実行がうまく行かない場合

プロジェクト直下の.vscodeディレクトリにlaunch.jsonというファイルを作成し、
下記のように記述します。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Launch DemoApplication",
            "request": "launch",
            "mainClass": "com.example.demo.DemoApplication",
            "projectName": "demo"
        }
    ]
}

実行とデバッグを再度確認すると、下記のようになっているかと思いますので、
実行ボタンをクリックすると実行できるかと思います。

最後に

比較的手間なくVS CodeでSpringアプリケーション開発が進められるように思えました。
環境変数の指定などはlaunch.jsonで設定可能なので、
実行やデバッグについてもeclipseと大差ないかなと感じました。

一方でjdkの切り替えは設定の方で出来そうなのですが、
これはうまいこと行きませんでした。
最近のjavaはわかりませんが、私の経験上javaのバージョン変えると色々問題起きたので、
この点が解消できないと複数プロジェクト、複数バージョンの開発は厳しいなという印象です。

Discussion