9

尝试集成 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" />

4

6 回答 6

2

我对 XSD 文件有同样的问题。

我已将 Spring data Data Commons 1.4 更改为 Spring Data Commons 1.3.2,现在一切正常...

于 2013-02-05T13:53:59.407 回答
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

于 2013-01-29T03:29:03.257 回答
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-corespring-data-commons是 data-mongodb 的传递依赖一样,我最终得到了两个 jar 并且类加载器使用了不正确的 spring-data-commons-core。

于 2014-07-09T08:50:44.300 回答
1

我有同样的错误。添加spring-data-commons-core似乎为我解决了这个问题。

于 2012-10-02T05:11:44.670 回答
1

您需要先定义Spring Data JPA 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: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>
于 2012-09-23T08:03:10.423 回答
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.handlers,spring.schemas 中。

祝你好运!

于 2013-09-17T07:33:45.720 回答