Рассмотрим:
Когда я создаю простой 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 в теге свойств.