【问题标题】:Custom Annotation Processor with Netbeans Module带有 Netbeans 模块的自定义注释处理器
【发布时间】:2013-10-30 06:33:15
【问题描述】:

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

当用户进入帮助菜单并选择“如何使用”。

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

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

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

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

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

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

我尝试将注释处理器类添加到注释处理器项目中的 META-INF.services、javax.annotation.processing.Processor 文件中。 (这使它适用于我的测试项目)

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

【问题讨论】:

    标签: java netbeans annotations


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 2012-10-23
      • 2015-03-30
      • 1970-01-01
      相关资源
      最近更新 更多