【发布时间】:2020-07-27 16:18:06
【问题描述】:
我正在从 Maven 迁移到 Gradle,但我遇到了生成源的问题。这是其中一个子项目的build.gradle
plugins {
id 'war'
id 'net.ltgt.apt-idea' version '0.15'
}
dependencies {
...
compileOnly 'com.querydsl:querydsl-apt:4.2.1:jpa'
compileOnly 'org.hibernate:hibernate-jpamodelgen:1.3.0.Final'
}
def generatedSources = "${buildDir}/generated/source/apt/main"
def generatedOutputDir = file("$generatedSources")
task generateSources(type: JavaCompile, group: 'build') {
doFirst {
generatedOutputDir.exists() || generatedOutputDir.mkdirs()
sourceSets.main.java.srcDirs = ["${generatedSources}", 'src/main/java']
}
options.compilerArgs += [
'-processor', '-proc:none',
'org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor,' +
'com.querydsl.apt.jpa.JPAAnnotationProcessor',
'-AaddSuppressWarningsAnnotation=true',
'-Aquerydsl.entityAccessors=true',
'-s', "${generatedSources}"
]
}
compileJava.finalizedBy generateSources
类已正确生成,但在生成之后我收到错误“找不到合适的方法...”
基本上编译失败是因为在编译阶段没有考虑生成的类。
有了finalizedBy,我很确定它会起作用,但是不行..
关于在compileJava 阶段之前如何让类生成运行的任何想法?
【问题讨论】:
标签: maven gradle code-generation processor