Spring Boot 1.4 QueryDSL依赖项问题

时间:2016-08-05 21:25:05

标签: spring maven spring-boot spring-data querydsl

我刚从Spring Boot 1.3.6更新到1.4.0,我遇到了下一个问题:

无法解析类型com.querydsl.jpa.JPQLQuery。它是从所需的.class文件间接引用的

我的pom.xml配置是:

    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
...

    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>3.7.4</version>
    </dependency>

     <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-sql</artifactId>
        <version>4.1.3</version>
    </dependency>

任何线索?。

感谢。

3 个答案:

答案 0 :(得分:2)

最后,我修复了将querydsl-jpa 3.7.4库更新为QueryDSL 4(并修改我的代码)的问题。看起来Spring Boot 1.4不再与QueryDSL 3兼容(因为Spring Data JPA 1.10已升级到Querydsl 4)。

感谢。

答案 1 :(得分:2)

对于Spring Boot提供集成的库,您应该使用BOM依赖项。基本上在你的pom /父母pom中有这个:

In [27]: gby.groupby(level='x').sum()
Out[27]: 
x
0    0
2    4
3    6
Name: x, dtype: int64

当您指定真正的依赖项时,请删除版本:

<dependencyManagement>
 <dependencies>
    <dependency>
        <!-- Import dependency management from Spring Boot -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>1.4.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencies>

这保证了兼容性,因为BOM依赖关系正在为您提供正确的版本。

更多信息here

答案 2 :(得分:0)

Ulises的回答是正确的,您可以使用

{{1}}

也可以控制依赖性。只需检查dependence version managed by spring boot右侧组ID 工件ID