【发布时间】:2013-11-06 02:21:08
【问题描述】:
我在由 maven 管理的 java 项目中使用 spring 和 hibernate。我使用以下命令创建了一个程序集(带有依赖项的 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>
我确实尝试了以下线程中的建议,但它对我不起作用。 Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/data/jpa]
org.springframework.beans.factory.parsing.BeanDefinitionParsingException的源代码
【问题讨论】:
-
架构很可能被 maven 程序集插件剥离,请参阅 stackoverflow.com/questions/5586515/…
-
@RC.:但是当我通过 Eclipse 运行它时,我的项目运行良好。问题是当我通过打包的 jar(具有依赖项的 jar)运行它时。对此有何评论?
-
"maven 程序集插件" = 是什么让 jar 具有依赖关系,所以..
-
有什么解决办法吗?
-
查看链接的问题答案!
标签: java spring maven spring-data-jpa