Подтвердить что ты не робот

Не удалось загрузить файл Jar в tomcat webapps

Это то, что я получил при попытке развернуть проект maven в tomcat mvn tomcat7: развернуть Ошибка:   INFO: validateJarFile (D:\Softwares\tomcat\apache-tomcat-7.0.50\webapps\myWebApp_ 1\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar не загружен. См. Описание сервлета 3. 0, раздел 10.7.2. Класс нарушения: javax/servlet/Servlet.class

Но javax.servlet-api-3.0.1.jar есть в WEB-INF\lib Благодаря

4b9b3361

Ответ 1

INFO: validateJarFile (D:\Softwares\tomcat\apache-tomcat-7.0.50\webapps\myWebApp_ 1\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar не загружен

Servlet3.0 уже поставляется вместе с tomcat внутри своей папки lib, и по умолчанию tomcat всегда будет загружать в него имеющуюся там сервлет-банку. Вот почему вы получаете предупреждение о том, что tomcat не загружает вашу банку внутри проекта.

Простое решение: если вы используете maven, установите его область как provided внутри pom.xml, а maven не поместит ее в WEB-INF/lib вашего проекта. Что-то вроде

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0</version>
    <scope>provided</scope>
</dependency>

Ответ 2

Точное объяснение Saif asif.

Я использовал gradle как инструмент построения. Это помогло мне исключить tomcat-servlet-api.jar, который по умолчанию предоставляется tomcat.

Вам нужно знать, какая из ваших зависимостей транзитивно добавляет tomcat-servlet-api.jar к войне, а затем исключает ее, используя следующую

 compile ('your dependency goes here') {
        exclude module:'tomcat-servlet-api'
    }

Ответ 3

Это просто предупреждение, которое появляется в вашем журнале, а не ошибка. Ваш проект по-прежнему будет развернут, если вы проигнорируете это.

Вы можете избавиться от этой ошибки, восстановив свой .war с помощью maven и скопировав его в\webapps\удалив старые файлы.

Ответ 4

Лучшее решение: удалите этот jar (i.e javax.servlet-api-3.0.1.jar) из lib