我正在尝试为新项目设置Gradle构建脚本。该项目将使用JPA 2和Querydsl。
他们在following page of Querydsl's reference documentation上解释了如何为Maven和Ant设置其JPAAnnotationProcessor(apt)。
我想对Gradle进行同样的操作,但是我不知道该怎么做,而我挚爱的 friend 在这一方面并没有太大帮助。我需要找到一种方法来调用带有参数的Javac(最好没有任何其他依赖项),以便能够指定apt应该使用(?)的处理器。
最佳答案
我没有测试它,但这应该可以工作:
repositories {
mavenCentral()
}
apply plugin: 'java'
dependencies {
compile(group: 'com.mysema.querydsl', name: 'querydsl-apt', version: '1.8.4')
compile(group: 'com.mysema.querydsl', name: 'querydsl-jpa', version: '1.8.4')
compile(group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.6.1')
}
compileJava {
doFirst {
Map otherArgs = [
includeAntRuntime: false,
destdir: destinationDir,
classpath: configurations.compile.asPath,
sourcepath: '',
target: targetCompatibility,
source: sourceCompatibility
]
options.compilerArgs = [
'-processor', 'com.mysema.query.apt.jpa.JPAAnnotationProcessor',
'-s', "${destinationDir.absolutePath}".toString()
]
Map antOptions = otherArgs + options.optionMap()
ant.javac(antOptions) {
source.addToAntBuilder(ant, 'src', FileCollection.AntType.MatchingTask)
options.compilerArgs.each {value ->
compilerarg(value: value)
}
}
}
}
希望能帮助到你。
关于gradle - 从Gradle构建脚本生成JPA2元模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431026/