Spring Boot:在Tomcat 7上部署WAR

5
我使用Spring Boot开发了一个Web应用程序,并生成了WAR文件。在生成WAR之前,我按照this的说明进行了操作。我正在Tomcat 7.0.52上部署它,但是我遇到了以下问题:

INFO: validateJarFile(/opt/devel/server/apache-tomcat-7.0.52/webapps/myapp/WEB-INF/lib/tomcat-embed-el-8.0.32.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class 2016-04-19 11:48:28.579 WARN 27983 --- [io-8080-exec-14] org.apache.catalina.deploy.WebXml : Unknown version string [3.1]. Default version will be used.

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

3
Spring Boot支持这两种规范,而Tomcat 7则不支持。 - M. Deinum
1个回答

7

正如M. Deinum所提到的,Tomcat 7使用3.0.x servet API。Spring Boot默认使用3.1。如果您正在使用旧版本的servlet和Tomcat API,则可以使用以下Maven属性来更改:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接