【发布时间】:2017-06-02 06:22:07
【问题描述】:
在我们的项目中,我们希望为用户界面对话框创建唯一标识符。为了确保开发人员不会为对话框创建重复的标识符,我创建了一个注释处理器,它检查“对话框注释”(它包含唯一标识符),如果重复标识符有,则通过 Eclipse 问题视图中的 Messager 类创建错误被检测到了。
我希望处理器处理所有带有对话框注释的类,但只有当我在 Eclipse 中调用完整的构建时他才会这样做。但是,如果我更改单个对话框类并保存它,处理器只会处理这个单个对话框(我相信这称为增量构建),因此我无法检查其他对话框是否已经分配了相同的标识符。
我尝试在.factorypath 文件中设置Run this container's processors in batch mode,但似乎没有效果。 Factory Path Preferences 的 eclipse 文档中提到了这个选项:
此选项仅适用于使用 Java 5 Mirror API 的处理器。它不会影响使用 Java 6 注释处理 API 的处理器。
我确实使用 Java 6 注释处理 API。所以这似乎也不是一个选择。
有没有办法让它处理所有带注释的类 - 甚至是未更改的类?我也很高兴听到解决最初问题的其他方法。
【问题讨论】:
-
这是一个 XY 问题 - 你想要 X 但你要求 Y。
-
@Antoniossss 如果你看我的最后一段,我实际上要求两者。
标签: java eclipse annotation-processing