Рассмотрим:
Когда я создаю простой Maven проект в Eclipse, я получаю эту ошибку:
web.xml отсутствует, а
<failOnMissingWebXml>- правда
Как я могу исправить эту проблему?
Рассмотрим:
Когда я создаю простой Maven проект в Eclipse, я получаю эту ошибку:
web.xml отсутствует, а
<failOnMissingWebXml>- правда
Как я могу исправить эту проблему?
Вы также можете сделать это:
Он создаст папку WEB-INF в src/main/webapp и web.xml.
Это ошибка maven. В нем говорится, что он ожидает файл web.xml в вашем проекте, потому что это веб-приложение, как указано <packaging>war</packaging>. Однако для последних веб-приложений файл web.xml является полностью необязательным. Мейвену нужно догнать эту конвенцию.
Добавьте это в свой maven pom.xml, чтобы maven догнал, и вам не нужно добавлять бесполезный web.xml в ваш проект:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
Это лучшее решение, чем добавление пустого web.xml, потому что таким образом ваш конечный продукт остается чистым, вы просто меняете свои параметры сборки.
Для более точных версий maven вы также можете использовать более короткую версию:
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
Если у вас уже есть web.xml под /src/main/webapp/WEB -INF, но вы по-прежнему получаете сообщение об ошибке "web.xml отсутствует и установлен в true", вы можете проверить, включили ли вы /src/main/webapp в источнике проекта.
Ниже приведены шаги, которые вы можете выполнить:
(я проверил это с Eclipse Mars)
У меня та же проблема. После изучения и поиска в Google, я решил свою проблему:
Щелкните правой кнопкой мыши папку проекта, перейдите к Java EE Tools, выберите Generate Deployment Descriptor Stub. Это создаст web.xml в папке src/main/webapp/WEB-INF.
Если вы используете Spring Tool Suite, опция для создания дескриптора дескриптора развертывания перемещается в Java EE Tools, поэтому вы:
Это создаст файл web.xml внутри папки src/main/webapp/WEB-INF/и, конечно, удалит ошибку из файла Maven pom.xml.
Вы также можете сделать это, что менее подробно
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
Eclipse распознает неправильный каталог по умолчанию webapp.
Поэтому мы должны четко обозначить его через maven-war-plugin.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webappDirectory>src/main/webapp</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
После сохранения этой настройки ошибка не будет возникать, если ее удалить. (Я не могу объяснить, почему.)
У меня была такая же проблема, хотя у меня была папка 'src/main/webapp/WEB-INF/' с правильным web.xml.
Проблема исчезла после того, как я восстановил конфигурацию (maven- > eclipse) с помощью
Maven build.. Я выполнил mvn eclipse:clean eclipse:eclipse
И затем я использовал Maven -> Update Project, чтобы добавить (eclipse- > maven) специальные параметры плагина.
Сделайте это:
Щелкните правой кнопкой мыши на дескрипторе развертывания и выберите "Создать дескриптор дескриптора развертывания".
Я столкнулся с этой проблемой только в eclipse, все отлично работало в командной строке Maven, и мой файл web.xml существовал. Это был зрелый проект (уже развернутый на производстве), на который повлияли. Моя проблема была привязана к метаданным затмения. Возникла проблема с одним из файлов в моей .settings/папке, в частности, org.eclipse.wst.common.component был изменен. Я смог восстановить этот файл до его предыдущей версии, которая разрешила проблему в моем случае.
Обратите внимание, что ответ Yuci не работает для меня, когда я попытался щелкнуть узел "Сборка развертывания" в свойствах eclipse, у меня появилась ошибка, которая говорит, что "отображаемая на данный момент страница содержит недопустимые значения".
Не имеет смысла создавать web.xml, а просто elcipse хочет его, даже в этом нет необходимости. Это так, если у вас встроенный или живой сервлет conatiner без xml cfg, например, spring -boot. Вы просто изменяете JavaEE (бесполезный материал) в eclipse на уровне проекта или глобальном
Eclipse/STS>Windows>Preferences>JavaEE>Doclet>Webdoclet> "uncheck" DeploymentDescriptor > OK
Создайте папку WEB-INF в src/webapp и включите страницу web.xml внутри папки WEB-INF, затем
Удалить файлы из -web/.setting & -admin/.setting

Для проекта с web.xml настоящим Project → Properties → Assembly Assembly, где вы можете добавить папку src/main/webapp. Сохранить изменения. Очистите проект, чтобы начать работу.
Для проекта с web.xml нет Установите failOnMissingWebXml в false в pom.xml в теге свойств.