一、问题描述
使用spring jpa,报no declaration can be found for element 'jpa:repositories'错误的解决方案
Multiple annotations found at this line:
- cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'jpa:repositories'.- schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/data/jpa/spring-jpa.xsd',
because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
spring配置文件
<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:tx="http://www.springframework.org/schema/tx" 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
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
二、解决方案
将http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
修改为
http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
并且加上如下两名:
http://www.springframework.org/schema/data/repository
http://www.springframework.org/schema/data/repository/spring-repository-1.6.xsd
注意:
不添加后面两句,会报:
Referenced file contains errors (http://www.springframework.org/schema/data/jpa/spring-jpa-1.2.xsd). For more information, right click on the
message in the Problems View and select "Show Details..."
三、原因分析:
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
此文件的确不存在,可以在浏览器中进行验证,而http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
是存在的,估计是spring-jpa-1.3.xsd 代替了spring-jpa.xsd