跳到主要内容

JEP 212:解决 Lint 和 Doclint 警告

QWen Max 中英对照

概述

JDK 代码库包含大量 javac 报告的 lint 和 doclint 错误。这些警告应该被解决,至少要解决平台基本部分的问题。

目标

在操作层面,目标是让平台中的基本包(那些在 core-libsawt-devswing-dev2d-dev 等讨论的包)至少能够在 javac 的 lint 和 doclint 警告下干净地编译。对于其他包,例如组成 JAXP、JAX-WS 和 CORBA 的包,也希望能够启用所有警告的情况下实现干净编译。

成功指标

当对 javac 命令使用 -Xlint:all 选项时,成功构建相关源代码。一个稍微弱化但可能可以接受的目标是启用所有与源代码相关的 lint 选项,但不启用与非源代码属性相关的 lint 选项。例如,某些 lint 选项涉及 javac 命令行的属性,而不是正在编译的源代码。

描述

这个 JEP 提议完成修复警告的工作,这些工作在 JDK 8 和 JDK 9 中已经开始进行,同时将之前向 jdk9-dev 提议的 源代码改进的一部分正式化。大多数警告通过修改方法体内部得以解决。解决一些 rawtypes 警告涉及更改方法签名,例如将参数类型从原始的 java.lang.Class 更改为 java.lang.Class<?> 或某些更具体的类型。任何 API 的更改都将遵循 JDK 的 通用演进策略

测试

成功的编译/构建是大多数更改的主要测试,但现有的回归测试应继续通过。如果 Java SE API 的签名发生更改,则需要相应地更新对应的 JCK 签名测试。

依赖

如果导入已弃用的类型不会触发弃用警告,那么解决 JDK 中的弃用警告将会更容易。(链接)