сеть.xml отсутствует и имеет значение true


считаем:

когда я создаю простой Maven на затмение я получаю эту ошибку:

web.XML-код отсутствует, а <failOnMissingWebXml> установлено правда

Как я могу исправить эту проблему?

17 106

17 ответов:

вы можете сделать это также так:

  1. Правой Кнопкой Мыши на Дескриптора Развертывания на Проект Обозреватель.
  2. выберите Создать Заглушку Дескриптора Развертывания.

Он будет генерировать WEB-INF

это ошибка maven. Он говорит, что ожидает паутину.xml-файл в вашем проекте, потому что это веб-приложение, как указано <packaging>war</packaging>. Тем не менее, для последних веб-приложений веб.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>

Если у вас уже есть веб.xml под /src / main/webapp / WEB-INF, но вы все равно получаете ошибку "web.xml отсутствует и имеет значение true", вы можете проверить, включили ли вы /src / main / webapp в исходном проекте.

вот шаги, которые вы можете следовать:

  1. вы можете проверить это, щелкнув правой кнопкой мыши свой проект и откройте его диалог свойств, а затем "сборка развертывания", где вы можете добавить папку /src/main/webapp. Сохраните настройку, а затем,
  2. перейти к проекту меню Eclipse - > очистить... и очистите проект,и ошибка должна уйти.

(Я проверил это с затмением Марса)

у меня та же проблема. Изучив и погуглив, я решил свою проблему:

Правой Кнопкой Мыши на папке проекта, перейдите к Java EE Tools выберите Generate Deployment Descriptor Stub. Это создаст web.xml в папке src/main/webapp/WEB-INF.

Если вы используете Spring Tool Suite, опция для создания заглушки дескриптора развертывания перемещается в Java EE Tools, поэтому вы:

  1. щелкните правой кнопкой мыши на проект
  2. выберите Java EE Tools
  3. выберите Создать параметр заглушки дескриптора развертывания

Это создаст веб.xml-файл внутри папки src / main/webapp/ WEB-INF / и, конечно же, удалить ошибку из pom Maven.XML файл.

enter image description here

вы также можете сделать это, что является менее подробным

<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

Eclipse распознает неверное значение по умолчанию

у меня была та же проблема, хотя у меня было правильно web.xml.

проблема исчезла после того, как я воссоздал (maven->eclipse) конфигурацию с помощью Maven build.. выполнил mvn eclipse:clean eclipse:eclipse

а потом я использовал Maven -> Update Project чтобы добавить (eclipse->maven) плагин конкретные параметры.

Я столкнулся с этой проблемой только в eclipse, все отлично работало в командной строке Maven и в моей сети.xml-файл существовал. Это был зрелый проект (уже развернутый в производстве), который был затронут. Моя проблема была связана с метаданными затмение. Была проблема с одним из файлов в мои .настройки / папка, в частности org.затмение.РМО.общий.компонент был изменен. Я смог восстановить этот файл до его предыдущей версии, что решило проблему в моем случае.

Примечание. этот ответ Yuci не сработал для меня, когда я попытался нажать на сборку развертывания в свойствах eclipse, я получил сообщение об ошибке: "в настоящее время отображаемая страница содержит недопустимые значения."

этого:

перейдите и щелкните правой кнопкой мыши на дескрипторе развертывания и выберите Создать заглушку дескриптора развертывания.

нет смысла создавать веб.xml просто elcipse хочет этого, даже нет необходимости. Это тот случай, если у вас есть сервлет conatiner встроенный или живущий без xml cfg, как это делает spring-boot. Вы просто diable JavaEE (бесполезный материал) в eclipse на уровне проекта или глобальном

Eclipse/STS>Windows>Preferences>JavaEE>Doclet>Webdoclet> "uncheck" DeploymentDescriptor > OK

создайте папку WEB-INF в src / webapp и включите web.xml-страница внутри папки WEB-INF, затем

удалить файлы - web/.настройка& - admin/.установка

1

для проекта с web.присутствует в XML Проект-- > свойства-- > сборка развертывания, в которую можно добавить папку src/main/webapp. Сохранить изменения. Очистите проект, чтобы начать работу.

для проекта с web.xml нет Установите failOnMissingWebXml в false в pom.xml под тегом свойства.

выберите свой проект и выберите опцию " дескриптор развертывания а затем выберите "Создать заглушку дескриптора развертывания"

щелкните правой кнопкой мыши на проекте, перейдите к Maven - > Обновить Проект... , проверьте принудительное обновление снимков / релизов , нажмите кнопку ОК. Все кончено!

шаг: выберите свой проект и выберите опцию "дескриптор развертывания", а затем выберите "Создать заглушку дескриптора развертывания". Вопрос в том, что это не всегда так, что нам нужен веб.xml, поэтому лучше всего добавить false к pom.xml