2012-11-18 1 views
18
<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

Реферировано файл содержит ошибки (http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd). Для получения более подробной информации, нажмите правой кнопкой мыши на сообщении в Проблемной View и выберите «Показать подробности ...» были обнаруженыЧто означает эта ошибка web.xml?

Ошибки ниже при проверке файла «веб-app_2_5.xsd» через файл «веб. XML». В большинстве случаев эти ошибки могут быть обнаружены путем непосредственной проверки «web-app_2_5.xsd». Однако возможно, что ошибки будут возникать только тогда, когда web-app_2_5.xsd будет проверяться в контексте web.xml.

В деталях, я вижу кучу этих:

S4S-ELT-символов: Non-пробельные символы не разрешены в других чем хз схемы элементов: AppInfo и хз: документация. Saw 'var _U = "undefined";'

ответ

49

Если вы замените j2ee на javaee, он будет работать нормально.

EDIT:

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

Edit:

Чтобы узнать что-либо дальше, связанные с этой ошибкой. Пожалуйста, следуйте Link. Здесь вы найдете схемы для дескрипторов развертывания Java EE (web.xml).

+1

Works. Спасибо .. – jacekn

+2

wtf..this это раздражает! – jhohlfeld

+3

@jhohlfeld список схем по версии в настоящее время находится здесь: http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html Схемы java <= 1.4 используют j2ee и схемы для> = 1.5 use javaee –

1

Сверху похоже, что схема расположена неправильно. При разрешении он перенаправляется на HTML-страницу, а не на схему XSD.

Я бы предложил просто удалить эту строку, если вы действительно не хотите выполнять проверку XSD во время выполнения. Помните, что соответствующие части будут проверены вашим контейнером сервлетов.

27

заменить

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

с

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee;http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"> 

Решение состоит в том, что вы должны поставить точку с запятой между URL-

Я уверен, что вы не получите снова ошибку :)

+4

Какова причина этого? Ошибка исчезла, но я не знаю, какие будут побочные эффекты. –

+0

Когда я использую это объявление, валидатор говорит, что «Невозможно найти объявление element'web-app» –

+0

Вы a * ckin magician dude –

1

В моем случае я заменил

XSI: SchemaLocation = "http://java.sun.com /../ .."

с

XSI: SchemaLocation =»HTTP: // xmlns.jcp.org /../ .. "

Cheers!

0

Я предлагаю вам добавить ; между 2 пассажи: xsi:schemaLocation="http://java.sun.com/xml/ns/javaee и http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

Как это:

:xsi:schemaLocation="http://java.sun.com/xml/ns/javaee;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
+0

Вы можете улучшить свой ответ, добавив какой-то формат, отметьте https://stackoverflow.com/help/formatting – Jens

+0

Спасибо Tot Zam и Peter Tretyakov так много –