Spring WebApplicationInitializers detected on classpath

Spring WebApplicationInitializers detected on classpath

Spring Bootで作成したREST APIのwarファイルを開発環境のTomcatにデプロイすると、Tomcatのlogファイルに「Spring WebApplicationInitializers detected on classpath」と出て、起動ができませんでした。

これはどうやらwarファイル作成時のJavaバージョンとTomcatのJavaバージョンが異なるとエラーとなる?開発環境に以下の差異がありました。

環境 Tomcat JVM
ローカル環境 11.0.6+10-LTS
開発環境 1.8.0_222-b10

logs/catalina.outを見るとそもそもデプロイエラーでした。

とりあえずJavaバージョンを合わせます。

[root@hoge bin]# ./version.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/9.0.13
Server built: Nov 2 2018 00:00:00 UTC
Server number: 9.0.13.0
OS Name: Linux
OS Version: 4.14.47-64.38.amzn2.x86_64
Architecture: amd64
JVM Version: 1.8.0_222-b10
JVM Vendor: Oracle Corporation

Javaバージョンを合わせると起動は正常にできました。

warファイル内のspring-boot-2.2.5.RELEASE.jar自体を削除すると1 Spring WebApplicationInitializers detected on classpathとなるようです。ただエラーじゃなくてinfoであって、削除すると逆に正常動作しなくなります。

コメント

タイトルとURLをコピーしました