为什么我不能抑制包裹上的警告?

Tom*_*sky 18 java annotations

我从javadoc看到@SuppressWarnings注释适用于

TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE
Run Code Online (Sandbox Code Playgroud)

目标.为什么它也不适用于PACKAGE

我有一些生成的代码,其中包含一些原始类型警告.我希望能够package-info.java为生成的类添加一个文件(在一个单独的物理目录中,但是相同的java包),它告诉eclipse忽略从包中生成的类发出的任何原始类型警告.

为什么不支持?是否有另一种方法可以抑制整个包装中的警告?

Bil*_*ard 9

在对旧错误报告的响应中解释了禁止在包级别警告的原因(状态 - 已关闭,将无法修复):允许在包级别指定SuppressWarnings.

警告实际上表明生成的代码中存在潜在问题.

目前,SuppressWarnings具有仅影响词汇嵌套代码的理想属性.这意味着您可以立即查看是否可能在您正在阅读的代码中禁止警告.

此提议将违反此属性以解决在大多数情况下可以解决的不常见问题.

该回复中还提出了一些解决方法.

  1. 使用-source 1.4和-target 5自行编译生成的代码.

  2. 请求更新版本的javacc,它使用suppresswarnings或不生成导致警告的代码.

我认为第一个建议,将生成的代码放在自己的项目中,应该适合你.第二个建议看起来更像是错误报告中的问题.我不知道你是否使用javacc.