首页 > 解决方案 > 关于QueryDSL、Spring Data、Gradle的几个问题

问题描述

我正在将 Spring Data 用于我正在处理的网络服务器项目。对于我的构建工具,我正在使用 Gradle,并且我正在尝试集成 QueryDSL 以便能够在我的应用程序中针对我的数据库(如果重要的话是 MongoDB)编写动态查询。我有几个关于正确设置环境的问题:

1) 在集成 QueryDSL 后,我注意到我的一些构建步骤开始失败。具体来说,有 2 个构建步骤调用compileQuerydslJavafindbugsQuerydsl(后者来自 FindBugs 插件)都失败了。根据错误消息,QueryDSL 生成的文件似乎无法被必要的引擎拾取。具体来说,对于findbugsQuerydsl,我得到的错误如下所示:

> Task :my-service:findbugsQuerydsl FAILED
No files to be analyzed

对于 compileQuerydslJava,错误如下所示:

> Task :message-service:compileQuerydslJava FAILED
C:\MY_PATH\QMyEntity.java:3: error: package com.querydsl.core.types does not exist
import static com.querydsl.core.types.PathMetadataFactory.*;

如果我使用 -x 标志排除这些构建步骤,一切正常,代码编译并运行没有问题。但是,我有点不愿将其视为最佳解决方案。大概这些工具是正确开发的,应该能够配置为正常工作,所以我想知道我错过了什么。

2) 我团队的另一位开发人员检查了这段代码并尝试运行它,但 QueryDSL 生成的类并没有自动为他创建。这导致他在应用程序中编译错误,直到他运行gradle build. 我宁愿这不是标准做法,而是像库一样自动生成所需的 Querydsl 文件。有没有办法做到这一点?或者至少在编译时生成文件,这样就不会导致编译错误?

我不确定哪些信息有助于调试此问题,因此请提出任何有助于帮助我的问题。谢谢。

编辑:

1)作为参考,我的Querydsl版本是4.1.4。我知道这不是最新版本,但它是我用来设置 Querydsl 的教程中使用的版本。如果推荐我可以尝试 4.2.1。

标签: gradlespring-dataquerydsl

解决方案


推荐阅读