我在尝试集成Spring Data时遇到此错误。完整的堆栈跟踪是
nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/data/jpa/spring-jpa.xsd; lineNumber: 18; columnNumber: 48; src-resolve: Cannot resolve the name 'repository:repository' to a(n) 'type definition' component.
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)
XML文件是
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<repositories base-package="com.interviewedonline.poc.repositories" />
答案 0 :(得分:2)
我在XSD文件中遇到了同样的问题。
我已将Spring数据Data Commons 1.4更改为Spring Data Commons 1.3.2,现在一切正常......
答案 1 :(得分:1)
您需要先定义Spring Data JPA XML namespace:
<?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:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<jpa:repositories base-package="com.interviewedonline.poc.repositories" />
</beans>
或者,如果您想在示例中使用默认的XML命名空间:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/data/jpa"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<repositories base-package="com.interviewedonline.poc.repositories" />
</beans:beans>
答案 2 :(得分:1)
我有同样的错误。添加spring-data-commons-core
似乎可以解决这个问题。
答案 3 :(得分:1)
我添加了这个jar spring-data-commons-core-1.2.1.RELEASE
在Pom.xml中添加了以下条目
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons-core</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
在jpa配置文件中,在xsi:schemaLocation下添加了以下条目 http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.2.xsd
答案 4 :(得分:1)
我最近在更新旧项目的依赖项时遇到此错误。我遇到的问题是这种依赖:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons-core</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
已重命名,现在正确
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.8.1.RELEASE</version>
</dependency>
正如我声明 spring-data-commons-core 和 spring-data-commons 是data-mongodb的传递依赖,我最终得到了两个罐子和类加载器使用的是不正确的spring-data-commons-core。
答案 5 :(得分:0)
在一些Spring .jar文件中,您可以找到META-INF文件夹。您将在该文件夹中找到spring.handlers和spring.schemas。 spring-data-commons- .jar确实有。如果您使用Maven,您应该在src / main / resources下创建META-INF文件夹,并将spring. data-commons - .jar中的spring.handlers,spring.schemas的内容追加到spring.handler中, spring.schemas。
祝你好运!