【发布时间】:2013-08-04 00:06:48
【问题描述】:
我正在开发一个注释处理器。
当处理器项目被编译为 .jar 时,处理发生在我的第二个项目的所有使用处理器的类上(当我在 Eclipse 上使用 Project->Clean... 时也会发生)。但是当我更改一个类并保存它时,在我的第二个项目中,处理只发生在这个类中。
问题是我的处理器必须获取所有类的根元素,但是,当它只在一个类中运行时,它只能获取该类的根元素。
关于如何获取项目的所有根元素的任何想法?
【问题讨论】:
-
你是只在eclipse下使用处理器,还是在构建中也使用?
-
我认为它只在 Eclipse 下运行。我不知道其他方式。它是在 Eclipse 中的 Properties->Java Compiler->Annotation Processing 中配置的。
-
Eclipse 执行增量编译,这使得批量注释处理更加困难。我知道有些项目会保留一个已知根的文件,并在注释处理期间将其用作处理所有根的输入。就个人而言,我更喜欢在 IDE 之外运行 mvn clean install 或类似的构建来处理注释。
-
我想我可以将修改后的类存储在一个静态变量中,这样我就可以随时访问它们。但是如何处理班级搬迁。有没有办法知道一个类是否从项目中删除?我对 mvn install os 类似的了解不多。你能给我一个参考吗?
标签: java eclipse class annotation-processing