我正在使用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传递给javac的-processorpath
选项的参数;我没有故意将它包括在内,因为它很长但我可以在必要时添加它
我对NetBeans安装目录下的common.xml文件进行了“hacky”修改,以使对javac的调用不包括-processorpath
选项,这样做会使警告消失。我仍然不明白为什么会这样
对此的一个简单修复是从NetBeans代码生成器生成的TopComponent类中删除@Messages
批注。根据NbBundle.Messages API Documentation,它是负责生成Bundle类的注释。
一旦删除该注释,您可能会从依赖于@Messages
注释(即TopComponent.OpenActionRegistration)内容的其他注释中获得警告,因此请确保修改这些注释的内容,直到代码中的任何内容都依赖于捆绑了。
希望您的代码中没有任何其他内容依赖于您的Bundle。