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であって、削除すると逆に正常動作しなくなります。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント