为什么我无法抑制包上的警告?

2024-01-09

我从javadoc中看到@SuppressWarnings http://docs.oracle.com/javase/7/docs/api/java/lang/SuppressWarnings.html注释适用于

TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE

目标。为什么它不适用于PACKAGE?

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

为什么不支持这个?是否有其他方法可以抑制整个包中的警告?


不允许在包级别抑制警告的原因在对旧错误报告的响应中进行了解释(状态 - 已关闭,不会修复):允许在包级别指定 SuppressWarnings https://bugs.java.com/bugdatabase/view_bug?bug_id=6299893.

这些警告实际上表明了潜在的问题 生成的代码。

目前,SuppressWarnings 具有以下理想属性 只影响词法嵌套的代码。这意味着你 可以立即查看警告是否可以被抑制 您正在阅读的代码。

该提案将违反此属性来解决一个不常见的问题 大多数情况下可以解决的问题。

该回复中还建议了一些解决方法。

  1. 使用 -source 1.4 和 -target 5 自行编译生成的代码。
  1. 请求 javacc 的更新版本,它可以使用抑制警告 或者不生成导致警告的代码。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我无法抑制包上的警告? 的相关文章

随机推荐