【问题标题】:Suppressing Java unchecked warnings in JSP files抑制 JSP 文件中的 Java 未经检查的警告
【发布时间】:2011-06-22 23:31:59
【问题描述】:

我有一个使用 jstl 和 Struts 1 标签的旧版 webapp。当我使用 Java 5/6 预编译 JSP 文件时,jstl 和 Struts 1 标记会抛出有关“未经检查或不安全的操作”的警告。例如,如果我使用以下标签:

<%@ page import="/anotherpage.inc" %>

抛出以下警告:

[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.

如果我使用 -Xlint:unchecked 重新编译,我会得到有关有问题的 JSP 标记库的内部工作的详细信息。我想禁止所有未经检查的操作警告。我认为使用 -Xlint:-unchecked 会抑制警告,但事实并非如此。

在编译我的 JSP 页面时如何抑制这些警告?重新编码 JSP 标记库或更新一千个 JSP 页面是不切实际的。我正在寻找一个编译器标志来全局禁用警告,以便我可以看到除未经检查的警告之外的所有警告。谢谢!

【问题讨论】:

  • 在那个问题中,他们询问了可以添加到单个 JSP 以抑制警告的内容。我正在寻找全球性的东西。
  • 是的,我可以忽略警告,但我有几千个警告,我希望能够看到合法警告(折旧的 API 等),以便我可以更正它们.
  • 在您的 IDE 编译期间是否生成了这些警告?如果你使用的是 Eclipse,你可以关闭 JSP 验证@Windows>Preferences>Validation
  • 真正的答案是:“Java 代码属于 Java 类,而不是 JSP 文件”。但是既然你有几千个:/我很抱歉。

标签: java generics jsp unchecked


【解决方案1】:

这些消息是(JDK >= 1.5 的强制性)注释,而不是警告。

compiler.note.unchecked.plural=\
    Some input files use unchecked or unsafe operations.

默认编译器行为与-Xlint:-unchecked 相同。

使用-Xlint:unchecked,您可以打开警告,报告每个实例。

compiler.warn.unchecked.assign=\
    [unchecked] unchecked assignment: {0} to {1}
...

强制注释不能单独禁用,它们都用-Xlint:none 禁用。不幸的是,其余的警告也被禁用了。

您可以检查其他响应以寻找替代方案,但过滤编译器输出消息似乎是最简单的解决方案。

【讨论】:

    【解决方案2】:

    你说得对

    -Xlint:unchecked

    与你想要的相反,但你也可以使用

    -Xlint:-unchecked

    注意那里多余的“-”。

    这将禁用所有关于未经检查的操作的警告,不仅仅是标签库生成的警告,其他警告仍然会显示。

    【讨论】:

    • 其实我已经试过了。使用 Xlint:-unchecked,每个有问题的文件都会收到一次消息“使用 Xlint:unchecked 重新编译”。使用 Xlint:unchecked,您会收到一条详细消息,其中包含违反 unchecked 规则的标记库的确切行号。我想完全禁用警告,而不仅仅是缩短警告的大小。
    • -1 -Xlint:-unchecked 是默认值。该标志一直显示注释。
    【解决方案3】:

    禁用该警告的最佳方法是停止在您的 JSP 中使用 Java 代码。 开始习惯使用 JSTL 或 JSF(根据需要使用自定义标签库)。

    但是对于旧版应用程序,您很可能无法做到这一点,您只能忍受警告。 当然你可以在编译器中添加 -nowarn 标志,但这将禁用所有警告,而不仅仅是这个,这可能比你想要的更多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多