2010-08-09 5 views
2

Когда Eclipse обнаруживает недопустимый XML-документ, в моем случае файл web.xml он выгружает модель содержимого DTD и сообщает мне, что этот элемент недействителен. Это совершенно бесполезно, так как он заканчивает говорить мне, что:Выявление ошибок web.xml в Eclipse

Содержание элемента типа «веб-приложение» должно соответствовать «(значок, дисплей имя, описание, распространяемый, контекстно-парам?? * фильтр *, фильтр-отображение *, слушатель *, сервлет *, сервлет-отображение *, сессия-конфигурация?, мим-отображение *, добро-файл-лист?, ошибка-страница *, TagLib *, ресурс-env- исх *, ресурсно-исх *, безопасности ограничение *, логин-конфигурации?, безопасность-роль *, окр-запись *, EJB-ссылок *, EJB-местного исх *)».

В файле с 900-строчным web.xml ошибку найти не так просто.

Как я могу выделить первый элемент, который заставляет документ быть недействительным?

ответ

2

Я бы создал копию web.xml и разрезал содержимое пополам (при условии, что он остается хорошо сформированным), пока не найду элемент. После этого вы добавите оставшиеся части скопированного файла.

+0

Хорошо, это хорошее начало. Я обнаружил проблему с помощью ручного контроля, но это звучит просто: глупо это делать, когда Eclipse должен указывать точную линию ошибок. –

2

Я знаю, что это старый вопрос, но для меня это был порядок параметров web.xml. Если вы посмотрите на сообщение об ошибке, ваши элементы должны быть в точном порядке, указанном в ошибке. Например:

<web-app> 

<display-name>LBSPing!</display-name> 

<context-param> 
    ... 
</context-param> 

<listener> 
    ... 
</listener> 

<servlet> 
    ... 
</servlet> 

<servlet-mapping> 
    ... 
</servlet-mapping> 

</web-app> 

Для меня мои контекстные параметры были после моих узлов сервлета и слушателя, что вызывало мою проблему.

+0

было для меня решением. "Веб-app_2_3.dtd" – Vadimo

Смежные вопросы