Spring Boot:在Tomcat 7上部署WAR

时间:2016-04-19 10:02:38

标签: tomcat servlets spring-boot

我开发了一个带有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中部署我的应用程序,一切正常。

感谢。

1 个答案:

答案 0 :(得分:4)

正如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>