如何为 Eclipse 创建自定义注释处理器

问题描述

我正在尝试创建一个在编译时生成代码自定义注释处理器(如 hibernate-jpamodelgen 所做的那样)。我查看了网络,我发现自定义注释处理器可与 maven 一起使用,但在添加到 Annotation Processing > Factory Path 选项时什么也不做。如何以这种方式创建兼容的处理器?我还没有找到有效的教程。

我的想法是,例如,对实体进行注释以自动生成可扩展以在最终代码中使用的基础 DTO、基础映射器等。

谢谢大家

解决方法

好的,已经发现问题了。我hda发现的教程没有指定,为了让编译器能够应用注解处理器,必须有一个包含限定类名的META-INF/services/javax.annotation.processing.Processor文件处理器(或多个处理器)。

我创建了指向我的处理器类的文件,生成了 jar 并将其添加到 Annotation Processing > Factory Path 并且一切正常。

注意保持正确的处理器顺序(例如,hibernate模型生成器声明了类,因此之后不会再生成),并且每次要替换库时更改jar文件名(似乎 eclipse 保留了一个缓存)。这两件事让我很头疼。

谢谢大家