使用Ant进行Java 6注释处理配置

我有一个自定义注释,它是处理器和处理器工厂。 如何配置我的Ant构建文件,以便:

  1. 注释处理器应用于带注释的类,并在“gen”文件夹中生成源文件

  2. 生成的源文件(来自注释处理)可以由项目中的其他源文件使用。

这不是很好,但这是我的工作。 (来源javac ant task javac手册页 )使用compilerarg属性,我可以传入javac ant任务不直接支持的注释处理相关参数。

 ....     

我不使用APT工具,因为文档说明

请注意,Apt工具似乎确实是JDK框架的不稳定部分,因此在将来的版本中可能会发生根本变化。 特别是它可能在JDK 6中已经过时,JDK 6可以将注释处理器作为javac的一部分运行。

如果你真的不关心编译器args,你可以像这样对你的注释处理器进行jar

  ...   

那你可以做

    

由于一些关键位是无法解释的变量,我发现其他一些例子有点令人困惑。 这就是我最终得到的结果:

构建处理器jar:

                           

然后编译代码并运行处理器:

             

这是我在eclipse / ant中的表现:

          

笔记

  • 处理器路径包含在* classpath_ref_id *中
  • 编译实际代码(使用或不使用生成的代码) 之前运行处理器。

您可以查看注释处理工具 ,它会自动编译生成的源文件

//编辑//回复你的评论:

您可以将apt与apt ant任务结合使用

但是从jdk6开始,javac工具直接支持注释处理 ,因此你应该能够使用javac ant任务和编译器属性指定为“javac1.6”