Spring Boot:在Tomcat 7上部署WAR

Héc*_*tor 3 tomcat servlets spring-boot

我已经使用Spring Boot开发了一个webapp并生成了WAR。在发动战争之前,我已遵循指示。我将其部署在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 Spec 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中,则一切正常。

谢谢。

lub*_*nac 5

正如M. Deinum所述,Tomcat 7使用3.0.x服务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>
Run Code Online (Sandbox Code Playgroud)