VSCodeでSpringbootアプリケーションが勝手に終了してしまう
はじめに
VSCodeでSpringbootアプリケーションの開発をするようにしているんですが、アプリケーション起動時に起動したままになっていてほしいのになぜか終了してしまう(エラーになるわけではない)ので、調べた解決法を一応載せておきます。
状態
- java 17, springframework 2.7.5、GradleでビルドしているSpringbootプロジェクト。
- VSCodeにはJava Extention Pack、Springboot Extention Pacl, Gradle for Javaなどインストール済み。
- 他アプリなどは問題なく実行できる
事象
Springbootアプリケーションを起動すると、エラーなどが発生するわけではなく、コマンド表示がイカのようにされたまま終了してしまう。
10:06:58.626 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@35bbbcb9 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.5) 2022-10-30 10:06:58.841 INFO 51660 --- [ restartedMain] com.hirm159.ika3api.Ika3ApiApplication : No active profile set, falling back to 1 default profile: "default" 2022-10-30 10:06:58.870 INFO 51660 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2022-10-30 10:06:59.130 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2022-10-30 10:06:59.131 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode. 2022-10-30 10:06:59.138 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 0 JDBC repository interfaces. 2022-10-30 10:06:59.153 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2022-10-30 10:06:59.155 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2022-10-30 10:06:59.161 INFO 51660 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 1 ms. Found 0 JPA repository interfaces. 2022-10-30 10:06:59.382 INFO 51660 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2022-10-30 10:06:59.586 INFO 51660 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2022-10-30 10:06:59.764 INFO 51660 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2022-10-30 10:06:59.840 INFO 51660 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.12.Final 2022-10-30 10:06:59.985 INFO 51660 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2022-10-30 10:07:00.109 INFO 51660 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL10Dialect 2022-10-30 10:07:00.224 INFO 51660 --- [ restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2022-10-30 10:07:00.237 INFO 51660 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2022-10-30 10:07:00.481 INFO 51660 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 2022-10-30 10:07:00.506 INFO 51660 --- [ restartedMain] com.hirm159.ika3api.Ika3ApiApplication : Started Ika3ApiApplication in 1.872 seconds (JVM running for 2.319) 2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2022-10-30 10:07:00.506 INFO 51660 --- [ restartedMain] com.hirm159.ika3api.Ika3ApiApplication : Started Ika3ApiApplication in 1.872 seconds (JVM running for 2.319)
これがあるので、少なくとも起動自体はしている様子。起動できない、とかで調べるとビルドエラーだったりなんだったりが出てくるので、Google先生もあまりあてにならない。。。
2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2022-10-30 10:07:00.506 INFO 51660 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
これは終了時などに表示されるもの。なので、勝手に終了されている? 同じようなSpringbootアプリケーションをVSCodeの同じ環境で実施している場合は問題なく起動し続けているため、プロジェクトの問題かと思って調べました。
ついでに、すぐに起動後に終了するとかそんなんで調べてみる。
出てきたサイト様
Spring Bootを起動させてもすぐにShutdownしてしまう場合にやること - プログラマーの調べ物
同じような現象について記載しているブログ記事を発見。
stackoverflowにもいくつかこの現象についてのスレッドがある模様。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
依存関係にspring-boot-starter-webと入れろという回答がほとんどでした。
Gradleでビルドしている場合の記載の仕方は以下のような感じです。
build.gradle
dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' }
依存関係に追加してから再度実行してみると、起動できるらしいです。
追加済みなのに起動が終了してしまう
それでも私のケースでは起動してもすぐに終了してしまいました。こうなるともはやお手上げです。調べても出てきません。どこかの質問サイトにでも投稿しようかな。。。と思っていた矢先、以下の手順を実行することで無事に解決することができました。
この手順を踏むと解決でき、無事に起動状態を維持できるようになりました。
おわりに
基本に帰ってやり直して見るみたいなことの大切さがわかりましたね、これでも解決できなかった場合は本当にお手上げですが。。。