Java 带有Netbeans模块的自定义注释处理器

Java 带有Netbeans模块的自定义注释处理器,java,netbeans,annotations,Java,Netbeans,Annotations,我正在使用一个(我相信不是Maven)Netbeans模块,它被用作构建在Netbeans平台之上的程序的插件 我想做的是,当用户转到“帮助”菜单并选择“如何使用”时,使用自定义注释添加一种关于如何使用GUI元素(我正在使用的插件)的文档 我的想法是创建一个自定义注释,其中用户为类提供名称和帮助信息。然后,注释处理器遍历注释,并输出一个类,其中注释信息存储在类字段中。然后可以扩展该类,并使用该类以有用的方式显示信息 下面这个例子 我使用的是Java7,但是模块和注释处理器Jar都编译为Java6

我正在使用一个(我相信不是Maven)Netbeans模块,它被用作构建在Netbeans平台之上的程序的插件

我想做的是,当用户转到“帮助”菜单并选择“如何使用”时,使用自定义注释添加一种关于如何使用GUI元素(我正在使用的插件)的文档

我的想法是创建一个自定义注释,其中用户为类提供名称和帮助信息。然后,注释处理器遍历注释,并输出一个类,其中注释信息存储在类字段中。然后可以扩展该类,并使用该类以有用的方式显示信息

下面这个例子

我使用的是Java7,但是模块和注释处理器Jar都编译为Java6。我的Netbeans版本是7.3.1,但我相信该模块是为Netbeans平台7.0.1开发的

我将注释和注释处理器编译到一个Jar中,如果与常规java项目一起使用,它将按预期工作

但是,在使用Netbeans模块项目进行编译期间,我无法让处理器运行

我尝试将注释处理器类添加到netbeans模块中的META-INF.services、javax.Annotation.processing.Processor文件中

我尝试将Annotation Processor类添加到Annotation Processor项目中的META-INF.services、javax.Annotation.processing.Processor文件中。(这使它与我的测试项目一起工作)


我尝试将-processor编译器标志添加到netbeans模块项目中,以使用特定的注释处理器。

在删除我的类与预期自动生成的类(注释处理器的输出)之间的扩展关系后,将编译代码。但在这一点上,我注意到注释处理器实际上正在运行

我重新添加了extends关系,并再次进行了清理和编译,但编译失败,但运行了注释处理器,并按预期成功生成了输出文件。我在没有清洗的情况下完成了构建,它最后一次构建,并按预期工作

我不知道是什么导致了这种情况,至少对于一个Netbeans模块项目来说,构建顺序似乎不同于常规Java项目。或者可能有几个中间构建步骤并不总是得到清理