【问题标题】:Spring Boot: Deploy WAR on Tomcat 7Spring Boot:在 Tomcat 7 上部署 WAR
【发布时间】:2016-08-11 10:30:28
【问题描述】:

我用 Spring Boot 开发了一个 webapp 并生成了 WAR。 在生成战争之前,我已经按照this 的说明进行操作。我将它部署在 Tomcat 7.0.52 中,但我明白了:

信息: validateJarFile(/opt/devel/server/apache-tomcat-7.0.52/webapps/myapp/WEB-INF/lib/tomcat-embed-el-8.0.32.jar) - jar 未加载。请参阅 Servlet 规范 3.0,第 10.7.2 节。违规类:javax/el/Expression.class 2016-04-19 11:48:28.579 WARN 27983 --- [io-8080-exec-14] org.apache.catalina.deploy.WebXml:未知版本字符串 [3.1]。将使用默认版本。

我认为这是由于 servlet 规范版本,但在上面的链接中说它支持 3.0 和 3.1(Tomcat 8)。如果我在 Tomcat 8 中部署我的应用程序,一切正常。

谢谢。

【问题讨论】:

  • Spring Boot 支持这两种规格.. Tomcat 7 不...

标签: tomcat servlets spring-boot


【解决方案1】:

正如 M. Deinum 所提到的,Tomcat 7 使用的是 3.0.x 的 servet API。 Spring Boot 默认使用 3.1。要更改它,如果您使用的是较旧的 servlet 和 tomcat API,Spring Boot 会理解这些 Maven 属性:

<properties>
    <tomcat.version>7.0.69</tomcat.version>
    <servlet-api.version>3.0.1</servlet-api.version>
</properties>

【讨论】:

    猜你喜欢
    • 2019-05-05
    • 2016-02-15
    • 2015-09-03
    • 2015-03-10
    • 2018-12-05
    • 1970-01-01
    • 2016-11-26
    • 2020-06-17
    • 2018-05-18
    相关资源
    最近更新 更多