Gradle 是否具有与 JOOQ 类型检查器注释处理器 ( https://www.jooq.org/doc/latest/manual/tools/checker-framework/ ) 描述的 Maven 配置等效的配置? Maven 版本是:
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-checker</artifactId>
<version>3.10.5</version>
</dependency>
还有
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<annotationProcessors>
<annotationProcessor>org.jooq.checker.SQLDialectChecker</annotationProcessor>
</annotationProcessors>
<compilerArgs>
<arg>-Xbootclasspath/p:1.8</arg>
</compilerArgs>
</configuration>
</plugin>
但是,虽然我可以将编译依赖项放入 Gradle 中,但我不确定将 annotationProcessor
位放在哪里。任何帮助将不胜感激!
最佳答案
从 Gradle 3.4 开始,Gradle 通过为处理器添加配置(例如名为“apt”)并设置 annotationProcessorPath
来支持注释处理器。请参阅CompileOptions#setAnnotationProcessorPath()
了解详情。
示例:
configurations {
apt
}
dependencies {
apt 'org.jooq: jooq-checker:3.10.5'
}
tasks.withType(JavaCompile) {
options.annotationProcessorPath = configurations.apt
options.compilerArgs << "-processor" << "org.jooq.checker.SQLDialectChecker"
}
从 Gradle 4.6 开始,使用预定义的 annotationProcessor
配置应该会更简单:
dependencies {
annotationProcessor 'org.jooq: jooq-checker:3.10.5'
}
compileJava.options.compilerArgs << "-processor" << "org.jooq.checker.SQLDialectChecker"
另请查看Gradle 4.6-rc.2 release notes了解详情。 当然,总有改进的潜力:Make annotation processors a first-class citizen .
当然,还有一些适用于 Gradle 的 jOOQ 插件,您可能想查看一下:https://plugins.gradle.org/search?term=jooq
关于java - JOOQ 检查器的 Gradle 注释处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48998648/