如何为 Eclipse 创建自定义注释处理器
How to create a custom annotation processor for Eclipse
我正在尝试创建一个在编译时生成代码的自定义注释处理器(就像 hibernate-jpamodelgen 所做的那样)。我在网上查看过,我找到了可与 Maven 一起使用的自定义注释处理器,但在添加到“注释处理”>“工厂路径”选项时什么也不做。我怎样才能以这种方式创建兼容的处理器?我还没有找到有效的教程。
我的想法是,例如,注释实体以自动生成可以扩展以在最终代码中使用的基本 DTO、基本映射器等。
谢谢大家
好的,已经找到问题了。我发现教程没有指定,为了编译器能够应用注释处理器,必须有一个 META-INF/services/javax.annotation.processing.Processor 文件,其中包含合格的 class 处理器(或多个处理器)的名称。
我创建了指向我的处理器的文件 class,生成了 jar 并将其添加到 Annotation Processing > Factory Path 并且一切正常。
注意保持处理器的顺序正确(例如,hibernate 模型生成器声明 classes,因此在它之后不会再生成),并更改每个 jar 文件名您想更换库的时间(似乎 eclipse 保留了缓存)。这两件事让我很头疼。
谢谢大家
我正在尝试创建一个在编译时生成代码的自定义注释处理器(就像 hibernate-jpamodelgen 所做的那样)。我在网上查看过,我找到了可与 Maven 一起使用的自定义注释处理器,但在添加到“注释处理”>“工厂路径”选项时什么也不做。我怎样才能以这种方式创建兼容的处理器?我还没有找到有效的教程。
我的想法是,例如,注释实体以自动生成可以扩展以在最终代码中使用的基本 DTO、基本映射器等。
谢谢大家
好的,已经找到问题了。我发现教程没有指定,为了编译器能够应用注释处理器,必须有一个 META-INF/services/javax.annotation.processing.Processor 文件,其中包含合格的 class 处理器(或多个处理器)的名称。
我创建了指向我的处理器的文件 class,生成了 jar 并将其添加到 Annotation Processing > Factory Path 并且一切正常。
注意保持处理器的顺序正确(例如,hibernate 模型生成器声明 classes,因此在它之后不会再生成),并更改每个 jar 文件名您想更换库的时间(似乎 eclipse 保留了缓存)。这两件事让我很头疼。
谢谢大家