Что касается маркера ошибки в Eclipse : у меня есть только обходной путь, и я сомневаюсь, что для этого есть реальное решение.
Как сказал Хави Лопес в своем принятом ответе, в банке слюни-пружина есть файл spring-handlers
(для меня drools-spring-5.3.0.Final.jar
) под META-INF . Это, однако, не ссылается на файл xsd (хотя файлы xsd находятся в этом самом jar-файле), но содержит следующее:
http\://drools.org/schema/drools-spring=org.drools.container.spring.namespace.SpringDroolsHandler
http\://drools.org/schema/drools-spring-1.2.0=org.drools.container.spring.namespace.SpringDroolsHandler
http\://drools.org/schema/drools-spring-1.3.0=org.drools.container.spring.namespace.SpringDroolsHandler
http\://drools.org/schema/drools-spring-1.4.0=org.drools.container.spring.namespace.SpringDroolsHandler
http\://drools.org/schema/drools-spring-1.5.0=org.drools.container.spring.namespace.SpringDroolsHandler
Как видите, он определяет класс обработчика для каждой версии xsd. Это хорошо работает с Spring во время выполнения, но я никогда не видел, чтобы он работал ни с какой версией Eclipse (ни с Spring Tool Suite).
Я всегда получаю отключение проверки для файлов xsd в проекте, что - для вашего удобства - выглядит так:
- Выберите ваш проект в Package Explorer, нажмите File / Properties (или нажмите Alt + Enter)
- В диалоговом окне Свойства для проекта выберите Валидация
- Проверка Включить специфические настройки проекта (отключить проверку только для этого проекта)
- Снимите отметку Вручную и Сборка для: Валидатор схемы XML
- Нажмите ОК
- Щелкните правой кнопкой мыши по проекту и выберите Проверить (для повторной проверки проекта с измененными настройками)
(Я также пытался ссылаться на xsd непосредственно из определения xml bean-компонентов Spring, но он не работал. Поскольку обработчик, определенный в файле spring-handlers
, работает во время выполнения, это не будет лучшим обходным путем IMHO.)