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.Class
为java.lang.Class<?>
或更具体的类型。任何 API 更改都将遵循JDK 的总体演变策略。
测试
成功的编译/构建是大多数更改的主要测试,但现有的回归测试应该继续通过。当 Java SE API 签名发生变化时,相应的 JCK 签名测试也需要相应更新。
依赖关系
如果导入已弃用的类型不会触发弃用警告,那么解决 JDK 中的弃用警告就会变得容易。