我正在将Spring Data用于我正在从事的Web服务器项目。对于我的构建工具,我正在使用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。