我想定义一些注释,这些注释将允许在编译期间报告额外的警告/错误(概念类似于 IntelliJ 中的@Nullable
和@NotNull
注释
我希望能够编写一些编译器钩子,它们也会根据这些属性添加我的编译逻辑。
如果可能的话,我想要一个通用的钩子,但是因为我们使用Eclipse - 如果我们有这种能力也会有好处。
我想知道:
感谢。
答案 0 :(得分:6)
您可以使用Java Annotation Processor(请参阅JSR 269: Pluggable Annotation Processing API)。来自Annotation checking at compile time with Java Annotation Processor:
JSR 269声明你可以 为编译器实现一个插件 它可以处理注释。这个 插件可以作为参数给出 编译时间,所以你的代码将是 当你的一个注释时调用 出现在源代码中。
上述链接提供了一个可以帮助您入门的示例。