在同一编译过程中注释预处理和类生成的Maven示例?


问题内容

有没有人在编译时有一个干净的Maven项目预处理类注释示例,并随后生成了要在同一编译过程中编译的类?

是否有人有分步执行该项目的程序?


问题答案:

在网上浏览了大量现有文档后,我想到了以下内容:

需要澄清的是:

  • 为了处理给定项目P上的注释,您首先需要在单独的库S中编译的注释处理器。P应该依赖于S。
  • 在Java 5中实现注释处理与在Java 6中实现绝对不同。
  • Java 5依赖于apt的单独执行。此处此处的相应教程有助于理解Java 5中注释处理和实现的基础。
  • 使用Maven 在Java 5中实现注释处理非常棘手。需要添加一个本地依赖项tools.jar来访问这些教程中描述的API。不干净。一些调用apt的第三方插件是可用的,但没有充分记录。
  • 那些使用Java 6应该 不会 迅速启动根据上述教程实现他们的处理器。

使用Maven在Java 6中进行注释处理

  • Java 6中已经提供了一个用于处理注释的新软件包Pluggable Annotation Processing
  • 要实现处理器,请创建一个单独的Maven项目。以上教程或教程说明了如何进行。这是我们的图书馆S。
  • 然后,创建项目P并在S上添加Maven依赖项。
  • 目前的问题Maven的编译器插件,但已有了解决方法在这里。使用它来将生成的代码编译为现有带注释的代码的一部分。

…和代码生成

  • Maven Central提供了一个很棒的Java代码生成库,称为CodeModel这里有一个很好的教程。javax注释处理包也提供了一些工具来生成输出。