【发布时间】:2018-12-05 19:20:42
【问题描述】:
我正在将 Spring Data 用于我正在处理的网络服务器项目。对于我的构建工具,我正在使用 Gradle,并且我正在尝试集成 QueryDSL,以便能够在我的应用程序中针对我的数据库(如果重要的话是 MongoDB)编写动态查询。我有几个关于正确设置环境的问题:
1) 在集成 QueryDSL 后,我注意到我的一些构建步骤开始失败。具体来说,有两个名为 compileQuerydslJava 和 findbugsQuerydsl(后者来自 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。
【问题讨论】:
-
你用的是什么版本的querydsl?
-
@RobertBain 信息已添加到 OP。
标签: gradle spring-data querydsl