Вопрос

Eclipse показывает следующие ошибки в моем Spring's applicationContext.xml:

cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dwr:configuration'.   myappservlet-servlet.xml    MyApp/src/main/webapp/WEB-INF   line 23 XML Problem
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dwr:controller'.  myappservlet-servlet.xml    MyApp/src/main/webapp/WEB-INF   line 21 XML Problem
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dwr:remote'.  myappservlet-servlet.xml    MyApp/src/main/webapp/WEB-INF   line 41 XML Problem

Когда я навожу курсор мыши на ошибку в строке, она также выдает:

    - schema_reference.4: Failed to read schema document 'http://www.directwebremoting.org/
 schema/spring-dwr-3.0.xsd', because 1) could not find the document; 2) the document could not be 
 read; 3) the root element of the document is not <xsd:schema>.

Я подтвердил, что корневой элемент на самом деле <xsd:schema>.Когда я использую автозаполнение, набрав <dwr: Eclipse правильно показывает мне различные варианты, такие как <dwr:configuration>, <dwr:controller>, и т.д.Как Eclipse может узнать это, не читая схему?

Я использую много разных пространств имен без проблем;схема DWR - единственная, которая не решается.Вот декларация:

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
              http://www.springframework.org/schema/aop 
              http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
              http://www.springframework.org/schema/context
              http://www.springframework.org/schema/context/spring-context-2.5.xsd
              http://www.directwebremoting.org/schema/spring-dwr
              http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd"
    default-autowire="byName">

У меня есть последняя версия DWR 3.0.0.116.rc1 в моем classpath.Если я открою банку DWR, я найду META-INF/spring.обработчики содержащий:

http\://www.directwebremoting.org/schema/spring-dwr=org.directwebremoting.spring.DwrAnnotationNamespaceHandler

и META-INF/spring.schemas содержащий:

http\://www.directwebremoting.org/schema/spring-dwr-2.0.xsd=org/directwebremoting/spring/spring-dwr-2.0.xsd
http\://www.directwebremoting.org/schema/spring-dwr-3.0.xsd=org/directwebremoting/spring/spring-dwr-3.0.xsd

Побег двоеточия немного сбил меня с толку, но я предполагаю, что все это правильно, иначе DWR у всех был бы нарушен.

Раньше я брал эту конкретную схему в режиме реального времени с веб-сайта DWR, но меня это задело, когда моя производственная система потерпела крах из-за того, что сайт DWR был недоступен.

Это было полезно?

Решение

Вы могли бы попробовать добавить указанный пользователем вклад каталога в Eclipse.Под Окно-> Настройки-> XML-> Каталог XML выберите Записи , указанные пользователем и тогда Добавить кнопка.

Затем вы можете добавить детали для схемы (вы могли бы скопировать файл локально в случае разрыва соединения).Затем Eclipse получит доступ к схеме во время проверки.

Другие советы

Я не уверен, в чем здесь заключается ваш вопрос.Вы, кажется, сами ответили на это в последнем абзаце - сайт DWR выходит из строя, проверка схемы в Eclipse завершается неудачей.Обратите внимание, что Eclipse (даже с плагином Spring IDE) не использует META-INF/spring.schemas для разрешения пространств имен, это делается платформой Eclipse.Если схема не может быть найдена в расположении схемы, то вы получаете эти ошибки.

Что касается автозаполнения, Eclipse по-прежнему обеспечит это путем вывода из существующих структур в вашем документе, если он не может найти схему.

Это не проблема в самом приложении, поскольку Spring будет использовать файл META-INF /spring.schemas для разрешения схем из JAR.

Это распространенная проблема при использовании Eclipse в автономном режиме.Он пытается захватить схему из сети.Когда он не может его найти, это указывает на ошибку проверки.

Я просто игнорирую эти ошибки.Когда вы снова подключитесь к сети, очистите проект, и они исчезнут.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top