2015-04-05 63 views
7

無法找到春天 NamespaceHandler XML模式 命名空間 [http://www.springframework.org/schema/context]春3.0 - 無法找到春天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

嘗試從pom.xml的 – Arpit 2015-04-06 14:26:15

+0

@Arpit去除 org.springframework 春天上下文 $ {} spring.version 。我試過兄弟。但沒有運氣:( – Unknown 2015-04-06 16:06:45

+0

你有類路徑上的任何其他彈簧罐,即在應用程序服務器庫文件夾的某處? – Setu 2015-04-09 16:25:51

回答

1

事實上,當我在eclipse下啓動WebApp時會發生這種情況;我不知道爲什麼,看來Eclipse無法找到包含Spring XSD模式的彈簧罐 通常我通過在WEB-INF/lib目錄下添加彈簧罐來解決它(通過使用在pom.xml中聲明的相同名稱)

1

如果您正在使用Eclipse的請嘗試以下步驟:

上右鍵單擊項目 - >屬性 - >部署總成 - > Java構建路徑entries-> Maven依賴

這意味着添加Maven依賴在您的部署程序集中

0

我已經成功使用彈簧BOM(「我的項目的POM材料裏面「)法案:

<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"> 
相關問題