问题似乎很明显,但实施对我来说非常困难.
我的目标是编写Ant构建脚本来编译一些需要Annotation Processor生成的另一个类的类.
我有一个自定义注释和它的处理器实现(继承自AbstractProcessor类).
据我所知,我需要:
>编译注释处理器
>在一些带注释的类上运行编译器以生成新的类.
>编译需要生成的类的类
代码(步骤1和2):
debug="true"
failοnerrοr="true"
includeantruntime="false"
classpath="${java.class.path}">
includeantruntime="false"
listfiles="false"
fork="true"
debug="true"
verbose="true">
实际上,第一个任务是执行良好并编译注释处理器实现的.class文件.它停在第二个任务.
Ant说:没有编译请求但没有找到处理器的注释处理.
我究竟做错了什么?
也许我应该把注释处理器类放在.jar中?或者提供扩展名为.class的文件名作为-processorpath参数?
我尝试了几个选项但没有任何帮助..
笔记:
我使用ant javac任务而不是aptone,因为documentation声称不推荐使用apt工具和com.sun.mirror API.
我也看过这个question,但是没有关于如何正确编译处理器的信息.
我正在使用:
> Java 1.6
> Ant 1.8.2