Jakarta与javax的替换

从 JDK 11 开始,Java SE 平台开始逐步淘汰 javax.* 包,并逐渐将其替换为 jakarta.* 包。这是因为 Java EE 从 Oracle 转移到了 Eclipse 基金会,并改名为 Jakarta EE,因此相关的 API 也相应地进行了迁移和重命名。这一变化对 Java 开发者的影响主要体现在以下几个方面:

1. 包名替换:

在 JDK 11 及之后的版本中,一些原本属于 javax.* 包的 API 已经被替换为 jakarta.* 包下的 API。比如,javax.servlet.* 包中的 API 被替换为 jakarta.servlet.* 包。开发者需要注意在升级到 JDK 11 及以上版本后,应该使用新的包名来引用相关的类和接口。

2. 兼容性:

为了确保向后兼容性,JDK 11 以后的版本仍然会保留 javax.* 包中的 API,但是这些 API 将被标记为不推荐使用,开发者被建议尽快迁移到 jakarta.* 包中的 API。同时,JDK 中也提供了一些工具和脚本,来帮助开发者进行代码迁移。

3. 迁移工具:

为了帮助开发者进行代码迁移,JDK 中提供了一些工具和脚本,比如 jdeps 工具可以用来分析代码中是否存在使用了 javax.* 包的 API,以及 jdk.xml.bind 模块中的迁移工具可以用来将代码中的 JAXB 相关 API 迁移到 java.xml.bind 模块中。

4. 迁移指南:

Oracle 和 Eclipse 基金会也提供了一些迁移指南和文档,帮助开发者顺利地进行代码迁移。这些文档包括了从 javax.*jakarta.* 包的替换规则、常见的迁移问题和解决方案等。

总的来说,对于从 JDK 11 开始的项目,开发者应该尽量避免使用 javax.* 包中的 API,而是使用对应的 jakarta.* 包中的 API,以便确保代码的向后兼容性和可维护性。同时,应该借助 JDK 中提供的工具和文档,尽快进行代码迁移。

posted @   大星派  阅读(2076)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示