警告:没有处理器声明任何这些注释:javax.annotation.Generated

问题描述 投票:1回答: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传递给javac的-processorpath选项的参数;我没有故意将它包括在内,因为它很长但我可以在必要时添加它

EDIT #1:

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

java netbeans annotations generated annotation-processor
1个回答
0
投票

对此的一个简单修复是从NetBeans代码生成器生成的TopComponent类中删除@Messages批注。根据NbBundle.Messages API Documentation,它是负责生成Bundle类的注释。

一旦删除该注释,您可能会从依赖于@Messages注释(即TopComponent.OpenActionRegistration)内容的其他注释中获得警告,因此请确保修改这些注释的内容,直到代码中的任何内容都依赖于捆绑了。

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

© www.soinside.com 2019 - 2024. All rights reserved.