2016-04-19 3 views
2

Я разработал webapp с Spring Boot и создал WAR. Я следовал this инструкциям, прежде чем создать войну. Я его развертывания в Tomcat 7.0.52, но я получаю это:Spring Boot: Разверните WAR на Tomcat 7

INFO: 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 ]. Будет использоваться версия по умолчанию.

Я думал, что это связано с версией спецификации сервлета, но в приведенной выше ссылке говорится, что она поддерживает 3.0, а также 3.1 (Tomcat 8). Если я развожу мое приложение в Tomcat 8, все будет работать.

Спасибо.

+3

Spring Boot поддерживает обе спецификации .. Tomcat 7 не ... –

ответ

4

Как отметил М. Дейн, Tomcat 7 использует API-интерфейсы 3.0.x. Spring Boot по умолчанию использует 3.1. Чтобы изменить его, Spring Boot понимает эти свойства Maven, если вы используете устаревшие API сервлетов и tomcat:

<properties> 
    <tomcat.version>7.0.69</tomcat.version> 
    <servlet-api.version>3.0.1</servlet-api.version> 
</properties> 
Смежные вопросы