带有 Spring Data 的 Spring Boot 应用程序找不到 com.mysema.query.types EntityPath
Posted
技术标签:
【中文标题】带有 Spring Data 的 Spring Boot 应用程序找不到 com.mysema.query.types EntityPath【英文标题】:Spring Boot app with Spring Data cannot find com.mysema.query.types EntityPath 【发布时间】:2015-10-26 02:40:46 【问题描述】:在 2015 年 7 月 30 日,我们的 Spring Boot 应用程序运行良好,但是当我们在 2015 年 8 月 3 日尝试运行它时,它失败并出现以下错误:
13:16:33.981 [org.directoryx.Application.main()] ERROR o.s.boot.SpringApplication
- Application startup failed
java.lang.NoClassDefFoundError: com/mysema/query/types/EntityPath
at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_51]
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_51]
at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_51]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:606)
~[spring-core-4.2.0.RC2.jar:4.2.0.RC2]...
我们注意到 Spring 框架在该时间范围内有一个新版本。我们尝试将 Spring Boot 依赖项从 1.3.0.M1 更新到 1.3.0.M2,但这并没有解决问题。
有关详细信息,请参阅full POM。
任何帮助将不胜感激!
【问题讨论】:
Google 显示此特定 NoClassDefFoundError 的多个链接:它们都指向 JPA 版本。看这里,例如:***.com/questions/16218100 【参考方案1】:Intellij IDEA中的依赖图和有效POM显示:Spring 4.2.0.RC2
在 POM 的属性中显式设置 4.2.0.RELEASE 版本似乎可以解决问题:
<properties>
<spring.version>4.2.0.RELEASE</spring.version>
</properties>
【讨论】:
以上是关于带有 Spring Data 的 Spring Boot 应用程序找不到 com.mysema.query.types EntityPath的主要内容,如果未能解决你的问题,请参考以下文章
带有分页的 Spring Data 和 Native Query
带有 Spring Boot 的 Spring Data JPA 中的多个数据源,[重复]
在 Spring Boot + Spring Data Rest 中反序列化时忽略带有 @JsonProperty 的字段
使用带有 @Embeddable 类的 Spring Data 审计注释
带有 Spring Data JPA 的 Spring Boot 为 Oracle 数据库上的 findOne(...) 提供了无效字符问题