【问题标题】:Spring Boot 3 and JSP application won't run as standaloneSpring Boot 3 和 JSP 应用程序无法独立运行
【发布时间】:2023-01-25 21:50:59
【问题描述】:

我将 JSP 应用程序升级到 Spring Boot 3,现在它在作为独立应用程序运行时无法启动。

如果我使用gradle bootRun 启动应用程序,它运行良好。

使用 java -jar oldnewjspapp.war 运行它时,我得到以下堆栈跟踪:

ERROR 7082 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.context.ApplicationContextException: Unable to start web server
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:164) ~[spring-boot-3.0.1.jar!/:3.0.1]
...
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142) ~[spring-boot-3.0.1.jar!/:3.0.1]
...
Caused by: java.lang.IllegalStateException: zip file closed
    at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:831) ~[na:na]
    at java.base/java.util.zip.ZipFile.getManifestName(ZipFile.java:1057) ~[na:na]
    at java.base/java.util.zip.ZipFile$1.getManifestName(ZipFile.java:1100) ~[na:na]
    at java.base/java.util.jar.JarFile.getManEntry(JarFile.java:937) ~[na:na]
    at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:1000) ~[na:na]
    at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:389) ~[na:na]
    at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:68) ~[tomcat-embed-core-10.1.4.jar!/:na]
...

Does anyone have a solution?

【问题讨论】:

    标签: spring-boot jsp tomcat


    【解决方案1】:

    Spring Boot 3 JSP 支持被破坏:

    备选方案是:

    1. 降级您的 Spring Boot 版本
    2. 提取战争内容并以这种方式运行
    3. 生成一场战争(gradle war)并将其发布到您最喜欢的网络服务器上

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 1970-01-01
      • 2020-10-03
      • 2016-07-04
      • 2017-05-25
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多