【发布时间】:2014-07-18 11:49:27
【问题描述】:
我正在从 java 代码中进行注释处理。我已经弄清楚如何使用 Java Compiler API,(JavaCompiler、CompilationTask 等)
所有这些前面提到的东西编译类。 有没有办法不用编译就可以运行注解处理?
我有一些想法来实现一些所谓的“StopProcessor”,它总是会失败并停止编译过程。有没有其他解决办法?
【问题讨论】:
-
“不编译”是什么意思?你如何在没有编译的情况下使用 java 类?什么是用例?
-
@NaveenRamawat 我的意思是我需要处理注释并停止。我不需要生成字节码。
-
你想达到什么目的?
-
@Dany 那么您想在实际编译之前执行某种静态代码检查吗?你可以通过例如实现这一点使用 antlr 生成程序的 AST 并对 AST 进行预处理;但这可能不是您正在寻找的解决方案...
-
您是否尝试将“-proc:only”作为选项api.javax.tools.JavaCompiler.getTask(选项参数)传递
标签: java annotations javac compile-time annotation-processing