gpt4 book ai didi

java - 为什么我不能在包上抑制警告?

转载 作者:太空狗 更新时间:2023-10-29 22:41:21 25 4
gpt4 key购买 nike

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

TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE

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

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

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

最佳答案

不允许在包级别抑制警告的原因在对旧错误报告(状态 - 已关闭,不会修复)的响应中进行了解释:Allow SuppressWarnings to be specified at the package level .

The warnings actually indicates potential problems in the generated code.

Currently, SuppressWarnings have the desirable property of only affecting lexically nested code. This means that you can immediately see if a warning might be suppressed in code you're reading.

This proposal would violate this property to solve an uncommon problem which in most cases can be worked around.

该响应中还建议了一些解决方法。

  1. compile the generated code by itself using -source 1.4 and -target 5.

  2. request an updated version of javacc which either uses suppresswarnings or doesn't generate code which causes warnings.

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

关于java - 为什么我不能在包上抑制警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8910759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com