当前位置: 首页 > 知识库问答 >
问题:

querydsl生成的q源代码未正确导入

席波娃
2023-03-14

我试图将querydsl添加到现有系统中,但在获取生成的Q源代码进行编译时遇到问题。我读过几个类似的问题和解释(https://spring.io/blog/2015/09/04/what-s-new-in-spring-data-release-gosling#querydsl-web支持,https://blog.jdriven.com/2018/10/using-querydsl-annotation-processor-with-gradle-and-intellij-idea/(即使这与idea有关)),querydsl的几乎每个堆栈溢出问题都是。。。

以下是我build.gradle的一部分,描述了问题所在:

ext {
  ... 
  querydslVersion = '4.2.1'
}

sourceSets {
    generated {
       java {
            srcDirs = [ 'build/generated' ]
        }
    }
    main {
        java {
            srcDirs = [ 'src/main/java' ]
        }
    }
}

...

dependencies {
    ...
    compile("com.querydsl:querydsl-core:${querydslVersion}")
    compile("com.querydsl:querydsl-jpa:${querydslVersion}")
    compile "com.querydsl:querydsl-apt:$querydslVersion:jpa"
    compileOnly group: 'org.projectlombok', name: 'lombok'
    annotationProcessor(
        "com.querydsl:querydsl-apt:${querydslVersion}:jpa",
        "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final",
        "javax.annotation:javax.annotation-api:1.3.2",
        "org.projectlombok:lombok"
    )
}

当我尝试构建时,出现错误:<code>找不到符号QuerydslBinderCustomizer

/build/generated/sources/annotationProcessor/java/main/com/prep/ws/model/QSample.java.

由于它位于构建文件夹中,我很困惑为什么这对于IDE和gradle不可见。

我不确定我做错了什么。

共有1个答案

冯霖
2023-03-14

经过多次尝试,我已经管理了查询工作(并且运行良好)。我发布这个答案,以防其他人有同样的问题。在我的情况下,我不得不将源代码集更改为直接指向注释处理器/ java /main。之后,一切都按预期工作。

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

指向build/generatedbuild/generated/sources/annotationProcessor构建/生成/sources/AnnotationProcesser/java不工作。

 类似资料:
  • 请帮助我的Q型不生成 我遵循《贝尔东指南》: https://www.baeldung.com/rest-api-search-language-spring-data-querydsl 此行有多个标记 com类型。querydsl。果心类型。无法解析谓词。它间接引用自required。类文件 无法解析插件。确保插件的groupId、artifactId和version存在。其他信息:插件com。

  • 导入数据包时的错误是:数据包中javax.annotation不可访问。当我编译时,因为我不能在代码中使用生成的错误是:启动层初始化时发生错误 JAVAlang.module。FindException:无法派生C:\Users“NAME”的模块描述符。p2\pool\plugins\es。ucm。盖亚。科利布里斯托。图书馆池1.0。0\lib\databaseconnector\jboss-tr

  • 问题内容: 这可能看起来很奇怪。 我已经用Java(在Eclipse中)编写了代码。然后,我对代码进行了一些修改。现在,我正在尝试运行新代码(已修改),但是它仍然为我提供了先前代码的输出。 我在代码中放置了很少的调试点,但是它跳过了一些调试点(尽管它应该在它们处停止)并在某个调试点处停止,但是即使在这里,它也调用了先前代码中存在的方法。位置(尽管我已经对此发表了评论)。从某个地方看来,它仍然在调试

  • 问题内容: 我正在忙于使用Maven将现有项目从Ant构建转换为Ant构建。该构建的一部分包括使用hibernate hbm2java工具将.hbm.xml文件的集合转换为Java。这是用于执行此操作的Ant脚本的片段: 我在互联网上四处张望,有些人(我认为)似乎在Maven中使用Ant,而另一些人使用Maven插件。我宁愿避免混合使用Ant和Maven。任何人都可以建议一种方法来执行此操作,以便

  • 我有一个用例,我使用lambda函数生成有符号的网址上传到S3桶,我还在生成有符号的网址时设置了元数据值,我的boto3版本是boto3==1.18.35。以前,当我生成有符号的网址上传到桶时,网址看起来像这样: https://bucket-name.s3.amazonaws.com/scanned-file-list/cf389880-09ff-4301-8fa7-b4054941685b/6

  • 问题内容: 我正在寻找一种基于类中定义的字段为现有Java源代码文件中的新方法自动生成源代码的方法。 本质上,我希望执行以下步骤: 读取并解析 遍历源代码中定义的所有字段 添加源代码方法 保存(理想情况下,保留现有代码的格式) 哪些工具和技术最适合完成此任务? 编辑 我不想在运行时生成代码;我想扩充现有的Java 源代码 问题答案: 用自动生成的代码修改相同的Java源文件是维护的噩梦。考虑生成一