Я получаю следующую ошибку:
Ошибка сборки WAR: требуется атрибут webxml (или существующий ранее WEB-INF / web.xml при выполнении в режиме обновления)
Я попал web.xml
в нужное место, котороеprojectname\src\main\webapp\WEB-INF\web.xml
Что может быть причиной этого?
Ответы:
Было бы полезно, если бы вы могли предоставить фрагмент кода вашего maven-war-plugin. Похоже, что
web.xml
это в нужном месте, все же вы можете попытаться указать местоположение явноисточник
Это решение работает для меня (я использовал 2.2 раньше). Кроме того, я использую конфигурацию на основе Java для Servlet 3.0, и мне не нужно иметь файл web.xml.
источник
false
. Итак,<plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> </plugin>
должно хватить.Это прекрасно работает и для меня.
источник
Это потому, что вы не включили web.xml в свой веб-проект и не пытаетесь создать войну, используя maven. Чтобы устранить эту ошибку, необходимо установить для falseOnMissingWebXml значение false в файле pom.xml.
Например:
Пожалуйста, смотрите блог для более подробной информации: https://ankurjain26.blogspot.in/2017/05/error-assebing-war-webxml-attribute.html
источник
Если вы переходите с конфигурации на основе XML на конфигурацию на основе Java и устранили необходимость в файле web.xml, внедрив WebApplicationInitializer, просто удалите требование наличия файла web.xml.
источник
Значение моего тега webXml должно выглядеть так, чтобы работать:
источник
<warSourceDirectory>\src\main\webapp</warSourceDirectory>
у меня была только косая черта ! Не в v2.6У меня была точно такая же проблема, и я решил ее так:
Создайте новую папку с именем
WEB-INF
подsrc/main/webbapp
тоЩелкните правой кнопкой мыши по своему проекту -> Инструменты Java EE -> Создать заглушку дескриптора развертывания
Это должно генерировать ваши
web.xml
Я надеюсь, что это помогает, решая вашу проблему: D
источник
Похоже, что у вас есть web.xml в правильном месте, но даже в этом случае эта ошибка часто вызывается структурой каталогов, не соответствующей тому, что ожидает Maven. Например, если вы начинаете с веб-приложения Eclipse, которое вы пытаетесь создать с помощью Maven.
Если это вопрос, быстрое решение заключается в создании
src/main/java
и вsrc/main/webapp
каталог (и другие каталоги , если они вам нужны) и просто перемещать файлы.Вот краткий обзор макета каталога maven: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
источник
Если вы измените путь проекта по умолчанию, вы должны указать расположение файла web.xml, например:
источник
В соответствии с документацией, в ней говорится: «Сбой сборки, если отсутствует файл web.xml». Установите в false, если вы хотите, чтобы WAR создавался без файла web.xml. Это может быть полезно, если вы создаете оверлей, у которого нет файла web.xml. Значение по умолчанию: true. Свойство пользователя: failOnMissingWebXml.
Надеюсь, это делает более понятным
источник
У меня это тоже сработало.
источник
WEB-INF\web.xml already added, skipping
. Это странно, когда я не добавляю это, я получаю ошибку.WEB-INF\web.xml already added, skipping
mvn-war-plugin 2.3 исправляет это:
источник
У меня была такая же ошибка на тестовом сервере, но не на локальном. Через несколько минут я обнаружил, что среда IDE не была синхронизирована с pom.xml. Вот как я это решаю:
Повторно сгенерируйте дескриптор развертывания с Eclipse
Повторно сгенерируйте дескриптор развертывания с IntelliJ
источник
Убедитесь, что pom.xml правильно размещен в папке Project. а не внутри целевой папки или где-либо еще.
Похоже, pom.xml не относительно выровнен.
источник
Была ли изменена структура вашей папки, чтобы файл больше не находился в /src/main/webapp/WEB-INF/web.xml ?
Чтобы решить эту проблему, я дал своей веб-папке имя webapp и поместил ее в src / main. Maven, похоже, ищет web.xml по умолчанию в /src/main/webapp/WEB-INF/web.xml . Если вы сделаете это, вам не нужно явно указывать maven, где находится web.xml. И если вы изменили структуру папок и ваша сборка недавно перестала работать, это может быть причиной.
Примечание. Это старый пост, но опубликованные решения не указывают, почему рабочая сборка внезапно перестала работать.
источник
Есть много ответов, и большинство из них будут работать, но я добавлю еще один момент, который, я думаю, имеет не меньшее значение.
Согласно вашему сообщению журнала, вы используете
maven
. Maven - это инструмент для управления проектами, основанный на некоторых соглашениях. Он строит проект, создает правильную структуру каталогов и помещает файлы в соответствующие каталоги, совместимые с приложениямиSun Microsystems Directory Structure Standard
Java EE / Web.Вы можете включить много вещей, включая плагины maven, изменение / перенастройку корневого каталога проекта и т. Д., Но есть один простой шаг, который вы можете сделать, и ваш проект должен быть в порядке. Просто поместите свой
web.xml
подsrc\main\webapp\WEB-INF\
и попробуйте построить проект сmvn package
.Я надеюсь, что это добавляет немного больше света к этой проблеме.
источник
Эта ошибка возникает из-за того, что вы приказываете Maven паковать файлы на войну .
Вам действительно нужна война? Если нет, поставьте туда банку. Вот полный код:
источник
🔴 failOnMissingWebXml с 2020 года
Все остальные ответы могут быть устаревшими, потому что значение по умолчанию, используемое плагином maven-war, изменилось :
Таким образом, единственное, что вам нужно сделать, это добавить
Пример:
источник