【问题标题】:Changing QueryDSL Generated Files Directory更改 QueryDSL 生成的文件目录
【发布时间】:2017-09-26 09:40:00
【问题描述】:

我已将 QueryDSL 集成到我的 Spring boot 项目中。

build.gradle:

//dependencies
compile("com.mysema.querydsl:querydsl-jpa:3.7.4")
compile("com.mysema.querydsl:querydsl-apt:3.7.4:jpa")

idea {
    module {
        sourceDirs += file('src/main/generated/')
        generatedSourceDirs += file('src/main/generated/')
    }
}

生成的.class.java(Q 类)文件当前部署到创建实体类文件的build/classes/main/my/package/model

如何配置JPAAnnotationProcessor 以将生成的源(例如QMyEntity.java)放入src/main/generated

【问题讨论】:

    标签: java jpa querydsl


    【解决方案1】:

    你可以尝试这样的事情(艰难的方式):

    def queryDslOutput = file("src/main/generated")
    sourceSets {
        main {
            java {
                srcDir queryDslOutput
            }
        }
    }
    
    task generateQueryDSL(type: JavaCompile, group: 'build') {
        source = sourceSets.main.java
        classpath = configurations.compile
        destinationDir = queryDslOutput
        options.compilerArgs = [
                "-proc:only",
                "-processor", 'com.querydsl.apt.jpa.JPAAnnotationProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor'
        ]
    }
    compileJava.dependsOn(generateQueryDSL)
    
    clean {
        delete queryDslOutput
    }
    

    如果您使用的是 lombok,则需要编译器选项。

    或者如果你使用querydsl-plugin你可以配置输出目录(简单的方法):

    def generatedClassesPath= "build/generated/source/querydsl/main"
    
    querydsl {
        jpa = true
        querydslSourcesDir = generatedClassesPath
    }
    

    您始终可以将生成的源代码添加到类路径中以捕获 Intellij Idea 的文件:

    def queryDslOutput = file(generatedClassesPath)
    sourceSets {
        main {
            java {
                srcDir queryDslOutput
            }
        }
    }
    

    来自插件文档:

    querydslSourcesDir

    querydsl 所在的项目相对路径 元模型源是在其中创建的。哪个注释都没有关系 使用处理器,所有元模型类都将在其中创建 这个目录。

    默认为src/querydsl/java

    【讨论】:

      猜你喜欢
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2022-07-17
      • 2010-12-08
      • 2015-12-20
      • 1970-01-01
      • 2021-01-22
      • 2012-03-12
      相关资源
      最近更新 更多