0

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

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

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

按照这个例子 https://netbeans.org/kb/docs/java/annotations-custom.html

我使用的是 Java 7,但模块和注释处理器 Jar 都编译为 Java 6。我的 Netbeans 版本是 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 模块项目以使用特定的注释处理器。

4

1 回答 1

0

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

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

我不知道是什么原因造成的,至少对于 Netbeans 模块项目,构建顺序似乎与常规 Java 项目不同。或者也许有几个中间构建步骤并不总是被清理干净。

于 2013-10-22T17:57:46.410 回答