JEP 117:删除注释处理工具 (apt)
概括
apt
从 JDK 中删除工具、关联的 API 和文档。
目标
apt
通过从 JDK 中删除,注释处理可以完成向高级、标准化 JSR 269 API 的过渡。
注释处理框架apt
是 JDK 特定的,可以追溯到 JDK 5。API 的功能通过 JSR 269 进行标准化,JSR 269 作为 Java SE 6 的一部分提供。在 JDK 7 中,整个 APIapt
已被弃用。
非目标
开发自动化工具以将apt
注释处理器转换为 JSR 269 注释处理器超出了这项工作的范围。
动机
与 JSR 269 API 不同,该apt
API 无法更新为 JDK 5 之后引入的模型语言功能。apt
从 JDK 中删除也将简化javac
相关工具的维护。
描述
实施删除将包括从 JDK 8 langtools
Mercurial 存储库中删除受影响的文件以及支持 makefile 更改。
测试
任何测试都仅限于验证 apt 命令和 API 不_存在_。
风险和假设
根据下面提到的依赖性,apt
从 JDK 中删除不存在工程问题。注解处理的用户将看到大量警告apt
已被删除,因此可以在 JDK 8 发布之前进行所需的迁移。
依赖关系
部分内容jaxws
是建立在 apt 之上的。在删除 apt 之前,需要迁移这些组件以使用 JDK 中的 JSR 269 实现。
影响
进行此更改后,注释处理的用户将不得不使用 JSR 269 注释处理工具,该工具自 JDK 6 起就受到支持。javac
由于apt
它只是 JDK 的一部分而不是 Java SE 的一部分,因此围绕此有一个更宽松的兼容性契约组件而不是围绕java.*
或中的 API javax.*
。从 JDK 中删除命令行工具并不是史无前例的,但删除apt
应该在发行说明和类似文档中明确描述。