1

我正在开发 NetBeans 8.2 中的一个模块项目,它带有一个 GUI 和一切。我正在使用大量 IDE 功能为 GUI 自动生成代码。

每次我对项目进行干净构建时,都会收到来自编译器的警告:

warning: No processor claimed any of these annotations:javax.annotation.Generated

浏览构建目录,我看到 IDE 为我生成了一个类Bundle.java,它在它上面添加了给定的注释:

@javax.annotation.Generated(value="org.netbeans.modules.openide.util.NbBundleProcessor")

我需要这个警告消失。我尝试在网上搜索处理此特定注释的注释处理器,但我没有运气。此特定注释的注释处理器是否存在?

如果这是一个“无害的警告”,我需要理解为什么在我的构建输出中证明它的存在是无害的。

如果需要,我可以在这个问题中包含从 IDE-processorpath传递给javac的选项的参数;我没有故意包含它,因为它很长,但如果需要我可以添加它

编辑#1:

我对 NetBeans 安装目录下的common.xml文件进行了“hacky”修改,以使对javac的调用不包含该-processorpath选项,这样做会使警告消失。我还是不明白为什么会这样

4

1 回答 1

0

一个简单的解决方法是@Messages从 NetBeans 代码生成器生成的 TopComponent 类中删除注释。根据NbBundle.Messages API 文档,正是该注释负责生成 Bundle 类。

删除该注解后,您可能会从依赖注解内容的其他@Messages注解(即 TopComponent.OpenActionRegistration)收到警告,因此请务必修改这些注解的内容,直到代码中的任何内容都不依赖于该注解不再捆绑。

希望您的代码中没有其他内容依赖于您的 Bundle。

于 2018-09-07T19:20:52.780 回答