【发布时间】:2017-06-08 10:44:06
【问题描述】:
我在部署 Spring Web 应用程序期间收到以下错误。
java.lang.AbstractMethodError: org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(Ljava/lang/reflect/Method;Lorg/springframework/data/repository/core/RepositoryMetadata;Lorg/springframework/data/projection/ProjectionFactory;Lorg/springframework/data/repository/core/NamedQueries;)Lorg/springframework/data/repository/query/RepositoryQuery;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.2.RELEASE.jar:4.3.2.RELEASE]
下面的链接建议检查 spring-data-commons 和 spring-data-jpa 之间的兼容性,这很好。
Spring CrudRepository throws AbstractMethodError on custom query method definition
还有什么能引起这个问题的吗?
下面是我的仓库代码
public interface MyRepository extends JpaRepository<MyEntityy, Long>
我将 spring-data-commons 更正为 spring-data-commons-1.11.0.RELEASE,现在我得到一个不同的错误。
java.lang.AbstractMethodError: org.springframework.data.repository.core.support.RepositoryFactorySupport.getTargetRepository(Lorg/springframework/data/repository/core/RepositoryMetadata;)Ljava/lang/Object;; nested exception is org.springframework.beans.factory.BeanCreationException:
【问题讨论】:
-
你的仓库类是什么样子的?
-
它是扩展 JPA 存储库的简单类。在问题中添加了存储库定义
-
您是否遵循建议以确保您的依赖项相互兼容?
-
“spring-data-commons 和 spring-data-jpa [..] 之间的兼容性很好。” - 我不信。请发布
mvn dependency:dependency-tree -Dverbose的输出或您正在使用的构建工具的等效项。 -
我正在使用 spring-data-jpa-1.9.0.RELEASE 和 spring-data-common-1.12.0.RELEASE - 看起来这两个是兼容的。从哪里可以找到 spring-data-jpa-1.9.0.RELEASE 的兼容 jar
标签: spring-data spring-data-jpa