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

时间:2013-10-21 16:38:16

标签: java netbeans annotations

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

我想要做的是使用自定义注释添加一种文档,说明如何使用GUI元素(我正在处理的插件),当用户进入帮助菜单并选择“如何使用”时”

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

遵循此示例 https://netbeans.org/kb/docs/java/annotations-custom.html

我正在使用Java 7,但Module和Annotation Processor Jar都编译为Java 6. My Netbeans Version是7.3.1,但我相信该模块是为Netbeans Platform 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模块项目以使用特定的注释处理器。

1 个答案:

答案 0 :(得分:0)

删除我的类和预期的自动生成的类之间的扩展关系,从注释处理器输出,编译的代码。但是那时我注意到注释处理器实际上正在运行。

我重新添加了extends关系,并再次清理和编译,但编译失败但注释处理器已运行,并成功生成了希望的输出文件。我点击构建,没有清理,它建立了最后一次,并按预期工作。

我不知道造成这种情况的原因,至少在Netbeans模块项目中,似乎是构建顺序与常规Java项目不同。或者也许有几个中间构建步骤并不总是得到清理。