enn*_*ion 5 java annotations gradle
我有一个自定义注释处理器(扩展了AbstractProcessor),该处理器根据注释将属性文件添加到项目中。我希望每次编译时都运行它。该项目是使用gradle的Java项目。
如何使注释处理器在编译期间运行?我应该使用一些编译器插件吗?还是应该编写一个简单的gradle任务来调用此批注处理器,并将该任务作为编译任务的一部分?(我是gradle的初学者)
我知道这个问题已经很老了,但由于它甚至得到了帮助,但没有人回答它,我想至少为未来的读者提供一点答案。
为此,有多种可能的方法,具体取决于您的环境设置方式。
例如,您可以在 build.gradle 或所有想要的项目使用的其他一些 .gradle 文件中使用类似的内容:
compileJava{
options.fork = false
options.forkOptions.executable = 'javac'
options.compilerArgs.addAll(['-classpath','path/to/your/compiled/processor.jar'])
}
Run Code Online (Sandbox Code Playgroud)
当你使用依赖系统时,你可以使用这个:
dependencies {
compileClasspath group: 'com.company', name: 'AnnotationProcessor', version: 'your revision'
//or this
compileClasspath 'com.company.AnnotationProcessor:revision'
}
Run Code Online (Sandbox Code Playgroud)
但请确保在 src/main/resources/META-INF/services 中有此方法的 .Processor 文件。否则你必须添加compilerArg '-processor','full.package.name.with.class.name'<--这可能是错误的,因为我从未尝试过这种方式。
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |