首页 > 编程语言 >Jakarta与javax的替换

Jakarta与javax的替换

时间:2024-02-25 15:34:28浏览次数:20  
标签:JDK Jakarta 替换 API 开发者 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 中提供的工具和文档,尽快进行代码迁移。

标签:JDK,Jakarta,替换,API,开发者,jakarta,迁移,javax
From: https://www.cnblogs.com/pineux/p/18032464

相关文章

  • follow-redirects 可以直接替换node http & https 的npm 模块
    follow-redirects可以直接替换nodehttp&https的npm模块包含的特性支持重定向功能支持重定向参数配置,比如最大重定向,以及最大请求大小,支持beforeredirect请求处理(比如认证处理)支持agents说明对于业务系统的请求会包含重定向场景的,follow-redirects是一个很不错的选......
  • idea正则表达式ctrl+R替换
    正则表达式进行查找替换在idea上ctrl+F查找时,可以用类似label="(.*?)"来匹配所有label和其等于的值:注意得选中后面的".*"这是一个正则表达式的匹配:(.*?)用一对括号捕获组——捕获组可以提取双引号中的实际值.匹配任何字符,*出现任意次数,?表示......
  • 国产USB 转串口芯片CH9102替换CP2102 需要改动什么以及注意事项说明
    CH9102是一个USB总线的转接芯片,实现USB转异步串口。提供了常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。CH9102与CP2102可实现pin2pin兼容,可以在不更改硬件设计的前提下实现不同型号间快速切换与产品应用。CH9102系列......
  • SpringBoot应用“No primary or single unique constructor found for interface java
    Bug复现今天在写SpringBoot应用时,写一个后端生成图形验证码的业务时,需要用到session保存后端生成的图形验证码的Base64编码,然后前端通过session来显示图形验证码。代码里用到了servlet里的HttpSession类,于是idea自动导入了javax.servlet包里的HttpSession。业务代码如下:packag......
  • linux 中sed 命令设置从第n个开始替换
     001、[root@pc1test1]#lsa.txt[root@pc1test1]#cata.txt##测试文件abcdaaakaassaa[root@pc1test1]#sed's/a/Q/g'a.txt##加g;默认是全部替换QbcdQQQkQQssQQ[root@pc1test1]#sed's/a/Q/2g'a.txt##从每行的第二个开始替换abc......
  • 全自动替换 ExplorerFrame.dll
    @echooffecho.echo全自动替换ExplorerFrame.dll,任意键继续……echo请确保以管理员身份运行本程序,并且待替换文件在同目录下。pause>nulecho.echo获取管理员权限...takeown/fC:\windows\system32\ExplorerFrame.dll/aicaclsC:\windows\system32\ExplorerFrame.......
  • 如何在Linux系统上正确的安装和替换特定版本的GCC
    以GCC9.2为例,下面是一个完整的下载源代码,编译,安装,配置的过程cd/usr/local/srcwgetftp://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xzxz-dgcc-9.2.0.tar.xztar-xfgcc-9.2.0.tarcdgcc-9.2.0./configure--disable-multilib--enable-languages=c,c++--prefix=/u......
  • Spingboot替换掉jar包里面的@Bean
    问题如下图,我们需要替换掉JsoncCfg配置类里面的YCloudObjectMapper这个Bean。这个Bean是在依赖的第三方jar包中的,因为用了@Bean而不是像@Component这种组件扫描添加的,所以不能使用@ComponentScan注解进行排除。现在不能修改jar包里的代码,不能在我们的项目中重新定义那个bean(Be......
  • c# 在 word指定位置插入文字和图片(替换 书签)
    原文链接:https://blog.csdn.net/chen1231985111/article/details/125811918使用Microsoft.Office.Interop.Word进行插入,word文件中插入“书签”。在com组件中引用Microsoft.Word.xxx.xx注意下面的坑:1.如果要兼容office2007,自己电脑上需要装个07才行(有可能不需要,我......
  • flannel网络插件替换calico网络插件
    在十一或者五一的时候,公司大楼装修断电,关闭服务器,启动之后发现flannel网卡不好使了,在部署K8S1.28.2出现flannel.1和cni网段不一致的情况。尝试了删除cni0网卡但是删除后cni0网卡不会重新创建:ifconfigcni0downifconfigflannel.1downiplinkdeletecni0iplinkdeletef......