跳到主要内容

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 不同,该aptAPI 无法更新为 JDK 5 之后引入的模型语言功能。apt从 JDK 中删除也将简化javac相关工具的维护。

描述

实施删除将包括从 JDK 8 langtoolsMercurial 存储库中删除受影响的文件以及支持 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应该在发行说明和类似文档中明确描述。