跳到主要内容

JEP 212:解决 Lint 和 Doclint 警告

概括

JDK 代码库包含许多 lint 和 doclint 错误,如javac.这些警告应该得到解决,至少对于平台的基本部分来说是这样。

目标

在操作上,目标是至少让平台中的基本包(在 core-libs、awt-dev、swing-dev、2d-dev 等中讨论的包)在javac的 lint 和 doclint 警告下干净地编译。希望其他包(例如包含 JAXP、JAX-WS 和 CORBA 的包)也能在启用所有警告的情况下进行干净编译。

成功指标

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

描述

此 JEP 建议完成修复JDK 8 和 JDK 9 中已出现的警告的工作,并正式确定之前向 jdk9-dev 提出的源代码改进子集。大多数警告可以通过修改方法体的内部来解决。解决一些原始类型警告涉及更改方法签名,例如将参数类型从原始类型更改java.lang.Classjava.lang.Class<?>或更具体的类型。任何 API 更改都将遵循JDK 的总体演变策略。

测试

成功的编译/构建是大多数更改的主要测试,但现有的回归测试应该继续通过。当 Java SE API 签名发生变化时,相应的 JCK 签名测试也需要相应更新。

依赖关系

如果导入已弃用的类型不会触发弃用警告,那么解决 JDK 中的弃用警告就会变得容易。