2015-04-05 5 views
7

Не удалось найти Spring NamespaceHandler для схемы XML имен [http://www.springframework.org/schema/context]Spring 3,0 - Невозможно найти Spring NamespaceHandler для контекста пространства имен XML-схемы

SEVERE: Exception sending context initialized event to listener instance of 
class org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 
Configuration problem: Unable to locate NamespaceHandler for namespace 
[http://www.springframework.org/schema/context] 
Offending resource: ServletContext resource [/WEB-INF/HelloWorld-service.xml] 

Это мой HelloWorld-service.xml :

<?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:p="http://www.springframework.org/schema/p" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.0.xsd" 
    default-autowire="byName"> 

<context:component-scan base-package="com.test.service"> 
    <context:include-filter type="annotation" 
     expression="org.springframework.stereotype.Service"/> 
</context:component-scan> 

В моей pom.xml у меня есть: структура дерева

<properties> 
    <spring.version>3.0.5.RELEASE</spring.version> 
</properties> 
........ 
<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

проекта:
enter image description here Любые идеи, что может быть причиной этого?

+0

Попробуйте удалить org.springframework пружинную контекста $ {spring.version} из pom.xml – Arpit

+0

@Arpit. Я попробовал броу. Но не повезло :( – Unknown

+0

У вас есть другие весенние банки на пути к классам, то есть в папке с папкой сервера приложений где-то? – Setu

ответ

1

Усушно это происходит, когда я запустил WebApp под затмением; Я не знаю, почему, похоже, Eclipse не может найти весенние банки, содержащие весенние схемы XSD. Обычно я решил это, добавив весовые баночки в каталог WEB-INF/lib (используя то же идентичное имя, объявленное в pom.xml)

1

Если вы работаете с затмением, то попробуйте следующие шаги:

щелкните правой кнопкой мыши на project-> свойства-> Развертывание Assembly-> путь Java сборки entries-> Maven зависимостей

Это означает, что добавление Maven зависимостей в вашей установке развертывания

0

У меня был успех с использованием весеннего спецификатора (" ведомость материалов ") внутри ПОМ моего проекта:

<dependencyManagement> 
    <dependencies> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-framework-bom</artifactId> 
     <version>3.2.6.RELEASE</version> 
     <scope>import</scope> 
     <type>pom</type> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

Но earliest version of spring-framework-bom in maven central repository is 3.2.6.RELEASE, и вам придется перейти на другую версию, чтобы использовать BOM. Спецификация обеспечивает согласованное разрешение артефактов по версии. Это также позволяет удалить все из <version>${spring.version}</version> из ваших зависимостей.

И "versionless" xsd ссылки:

xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd"> 
Смежные вопросы