gpt4 book ai didi

java - 更改 QueryDSL 生成的文件目录

转载 作者:行者123 更新时间:2023-12-02 12:12:36 26 4
gpt4 key购买 nike

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

构建.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

最佳答案

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

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

The project relative path to where the querydsl meta model sources are created in. It does not matter which annotation processors are used, all meta model classes will be created within this directory.

Defaults to src/querydsl/java.

关于java - 更改 QueryDSL 生成的文件目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com