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

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

我正在 NetBeans 8.2 中开发一个带有 GUI 和所有功能的模块项目。我使用了很多 IDE 功能来为 GUI 自动生成代码。

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

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

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

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

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

如果这是 "harmless warning," 我需要理解为什么在我的构建输出中证明它的存在是无害的。

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

编辑#1:

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

一个简单的修复方法是从 NetBeans 代码生成器生成的 TopComponent class 中删除 @Messages 注释。根据 NbBundle.Messages API Documentation.

,正是该注解负责生成 Bundle class

一旦删除该注释,您可能会收到来自其他依赖于 @Messages 注释(即 TopComponent.OpenActionRegistration)内容的注释的警告,因此请务必修改那些注解,直到你的代码中没有任何东西依赖于那个 Bundle。

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