Geecul

Geekに踊ってカルチャーと寝る

【メモ】Visual Studio CodeでSpring Bootを使っていたら急に依存解決できず、アプリケーション起動できなくなった。

最近はVisual Studio Codeを使って、Spring Bootの学習をしています。

しかしいきなり、今まで起動していたSpring Bootアプリケーションが起動できなくなった。

そのため色々やってみての解決策を備忘として残すことにします。

目次

事象

エラーの状態とエラーメッセージを記録していなかったので、事象の説明をすることにします。

Spring Bootアプリケーションを起動しようとしたら、「NoClassDefFoundError」が表示され起動しない。

docs.oracle.com

 

各ファイルで色々コードを見ていくと、Spring Bootアノテーションやimport文にエラーを示す赤い下線が表示され、依存解決されない状態としてVisual Studio Codeに認識される。

解決策

Visual Studio Codeにインストールしていた拡張機能「Spring Boot Extentsion Pack」を再インストールした。

f:id:youzine:20201011181727p:plain

実施は以下の流れで実施した。

  1. インストール済み拡張機能から「Spring Boot Extentsion Pack」を選択しアンインストール
  2. Visual Studio Codeを再起動
  3. インストール済み拡張機能から、「Spring Boot Extentsion Pack」と、それに伴って導入されていたSpring Boot関連拡張機能が表示されていないことを確認。
  4. 拡張機能の検索から、Springで検索し、再度「Spring Boot Extentsion Pack」をインストール
  5. しばらくすると右下にポップアップが表示され「Language Support for Java(TM) by Red Hatredhat.java」をインストールするか聞かれるのでYEStをクリック(インストール済みだが聞かれているので一応YES)

 

最後にVisual Studio Codeを再起動したかは忘れてしまったが、

だいたい上記のような流れで拡張機能の再インストールを実施後、コードのSpring Bootアノテーションからエラーを示す赤い下波線が消え、

デバッグコンソールにもエラーは表示されなくなった。

この状態だとSpring Bootアプリケーションが起動できるようになり、ブラウザからもアクセスできるようになった。

想定される原因

結局今まで動いていたコードが何故急に動かなくなったのか真の原因は分かっていない。

想定されるのはVisual Studio Codeのバージョンアップだ。

僕はVisual Studio Codeの更新通知を確認したらすぐ更新するからだ。

おそらくそれが原因だろう。

何故ならJavaのバージョンを変更したわけでもないし、Visual Studio Codeの拡張機能を追加・削除もしていないからだ。

もちろんJavaコードの変更もしていない。

ということで、Visual Studio Codeのバージョンアップ後に同様の状態になった場合は、

ある程度原因の調査してみて解決しない場合は、拡張機能の再インストールを試みてみるのもいいと思う。