Ошибка при развертывании файла war на сервере GlassFish 4 (cvc-complex-type.2.4.a: обнаружено недопустимое содержимое, начинающееся с элемента ‘init-param’)

#java #jakarta-ee #glassfish #glassfish-4

#java #джакарта-ee #glassfish #glassfish-4

Вопрос:

Я пытаюсь развернуть приложение war (приложение было написано для развертывания на jetty и имеет доступ к базовой базе данных postgres) на сервере приложений glassfish 4. Я использовал консоль администратора GlassFish для развертывания файла войны, и я получаю следующую ошибку в консоли администратора :

Во время развертывания произошла ошибка: Исключение при развертывании приложения [examples-simulated-2.1.0]: org.xml.sax.SAXParseException; Номер строки: 85; Номер столбца: 17; Файл дескриптора развертывания WEB-INF/web.xml в архиве [examples-simulated-2.1.0]. cvc-complex-type.2.4.a:Обнаружено недопустимое содержимое, начинающееся с элемента ‘init-param’. Один из ‘{«http://java.sun.com/xml/ns/javaee «:класс сервлета»,http://java.sun.com/xml/ns/javaee «:ожидается jsp-file}’.. Пожалуйста, смотрите server.log для получения более подробной информации.

Вы можете увидеть server.log здесь :

http://pastebin.com/AKiFufq4

Есть идеи, как это исправить? Спасибо.

Ответ №1:

Очень возможно, что ваши элементы web.xml расположены в неправильном порядке — например, вам нужно определить параметры контекста перед определением сервлета. Смотрите Правильный порядок элементов здесь, это более старая статья, но я думаю, что это действительно не сильно изменилось.