首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于QueryDSL、Spring数据和Gradle的几个问题

关于QueryDSL、Spring数据和Gradle的几个问题
EN

Stack Overflow用户
提问于 2018-12-05 19:20:42
回答 1查看 323关注 0票数 0

我正在为我正在做的for服务器项目使用Spring数据。对于我的构建工具,我正在使用Gradle,我正在尝试集成QueryDSL,以便能够在我的应用程序中针对我的数据库编写动态查询(如果有关系的话,可以使用MongoDB)。关于正确设置环境,我有几个问题:

1)在集成QueryDSL时,我注意到我的一些构建步骤开始失败。具体来说,有两个名为compileQuerydslJavafindbugsQuerydsl (后者来自FindBugs插件)的构建步骤正在失败。根据错误消息,看来QueryDSL生成的文件无法被所需的引擎捕获。具体来说,对于findbugsQuerydsl,我得到的错误如下所示:

代码语言:javascript
运行
复制
> Task :my-service:findbugsQuerydsl FAILED
No files to be analyzed

对于compileQuerydslJava,错误如下所示:

代码语言:javascript
运行
复制
> 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。

EN

回答 1

Stack Overflow用户

发布于 2022-04-06 07:22:38

一个老问题,但答案可能有用。

我与插件compileQuerydslJava com.ewerk.gradle.plugins.querydsl有类似的问题。

尝试从querydsl generated q source code is not imported correctlyQueryDSL annotation processor and gradle plugin中执行步骤

querydsl版本4.2.1的解决方案

如果您正在使用插件,请删除它。

代码语言:javascript
运行
复制
dependencies {
  ...
  compileOnly("org.projectlombok:lombok:${lombok_version}")
  compile("com.querydsl:querydsl-jpa:${querydsl_version}")
  compile("com.querydsl:querydsl-apt:${querydsl_version}")
  annotationProcessor(
        "org.springframework.boot:spring-boot-starter-data-jpa:${springBoot_version}",
        "com.querydsl:querydsl-apt:${querydsl_version}:jpa",
        "javax.annotation:javax.annotation-api:1.3.2",
        "org.projectlombok:lombok"
  )

}
sourceSets.main.java.srcDirs = ['build/generated/sources/annotationProcessor/java/main','src/main/java']

对于我来说,在这个改变之后,步骤compileQuerydslJava被删除,但是所有的构建和工作都是正确的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53639335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档