我的Java项目中使用了Spring和Hibernate框架,并由Maven进行管理。我使用以下命令创建一个包含依赖项的汇编文件(JAR文件):mvn install assembly:assembly
现在,当我尝试使用以下命令运行我的主类时:java -cp xyz-1.0-SNAPSHOT-jar-with-dependencies.jar com.xyz.class
,我收到以下错误:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/data/jpa]**
Offending resource: class path resource [xyz-component-scans-config.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:271)
.
.
我不明白为什么它无法找到NamespaceHandler?因为我已经在pom中添加了以下依赖。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.0.RELEASE</version
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.0.2.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
我尝试了以下主题中的建议,但对我没有起作用。无法定位Spring XML模式命名空间[http://www.springframework.org/schema/data/jpa]的NamespaceHandler
org.springframework.beans.factory.parsing.BeanDefinitionParsingException 的源代码