当前位置:首页 > 科技  > 软件

Java EE更名Jakarta EE对程序开发影响,你知道吗?

来源: 责编: 时间:2024-05-16 09:10:12 248观看
导读一、前言很多Java程序员在使用新版本的Spring6或者springboot3版本的时候,发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候,也发展了大量jakarta的工程包。比如:camunda的webapps编译工程就提供了2

一、前言

很多Java程序员在使用新版本的Spring6或者springboot3版本的时候,发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候,也发展了大量jakarta的工程包。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

比如:camunda的webapps编译工程就提供了2种方式javax和jakartap9T28资讯网——每日最新资讯28at.com

* `assembly` - Java sources and tests for the Camunda web application based on `javax` namespace.* `assembly-jakarta` - Java sources and tests for the Camunda web application based on `jakarta` namespace.* This module is created from the `assembly` module via code transformation.p9T28资讯网——每日最新资讯28at.com

网上也有好多同学使用Tomcat时遇到到Jakarta.servlet与javax.servlet包冲突的问题。p9T28资讯网——每日最新资讯28at.com

Tomcat10中解决eclipse内部Jakarta.servlet与javax.servlet不兼容问题方法:p9T28资讯网——每日最新资讯28at.com

https://blog.csdn.net/mmmm0584/article/details/115161865p9T28资讯网——每日最新资讯28at.com

引起以上问题的原因是:Java EE更名为Jakarta EE,javax命名空间变为jakarta,javax包名前缀变为jakarta。p9T28资讯网——每日最新资讯28at.com

二、Java EE为什么更名Jakarta EE

2009年4月20日,甲骨文(Oracle)公司和Sun公司今天共同宣布了最终协议,甲骨文公司将以74亿美元收购SUN公司。当时,Sun Microsystems被誉为世界上最具前瞻性的IT公司之一,有能力以开放软件及硬件为结合,进行全面统一的系统,给客户带来最大的价值。Oracle收购Sun Microsystems表明,它希望借助Sun Microsystems的关键软件和技术资源,将自身现有的专业的管理体系,硬件解决方案,及应用程序发展技术集成在同一个平台上,从而创建一个更加完善的企业增值产品和服务。p9T28资讯网——每日最新资讯28at.com

2018年,Oracle(甲骨文)决定将Java EE移交给开源组织Eclipse基金会,但甲骨文不允许开源组织用Java的名号,于是Eclipse选出了 "Jakarta EE" 和"Enterprise Profile"两个名字,最终前者胜出。p9T28资讯网——每日最新资讯28at.com

Eclipse基金会高管Mike Milinkovich表示,7000多人参与了Java EE的更名投票,64%的票数支持改为Jakarta EE,另有35.6%的票数支持Enterprise Profile。p9T28资讯网——每日最新资讯28at.com

Oracle将Java EE(Java SE还自己保留)交给开源组织,Eclipse基金会接手。但Oracle不允许开源组织使用Java名号,所以Jakarta EE名称于2018.02.26应运而生。Oracle收购了Sun公司,涉及到商标和版权原因,Javax改名为Jakarta迫不得已。p9T28资讯网——每日最新资讯28at.com

从Java EE到Jakarta EE,企业版Java、JDK的发展历程,参考:p9T28资讯网——每日最新资讯28at.com

https://cloud.tencent.com/developer/article/1847110p9T28资讯网——每日最新资讯28at.com

三、Java EE更名Jakarta对软件影响

Spring Framework作为Java领域最为流行的框架,有非常庞大的用户群体和项目应用,Java开源框架里绝对的TOP1。我们首先看看Java EE更名Jakarta对Spring Framework的影响。p9T28资讯网——每日最新资讯28at.com

Spring Framework 6正式发布,携JDK 17&Jakarta EE开启新篇章,Spring Framework为何一跃将JDK的baseline从JDK 8提到JDK 17,以及废弃javax,启用全新的jakarta命名空间。Spring Framework 6基于JDK 17构建。换句话讲,若想使用Spring Framework 6那么你的JDK环境最低要求JDK 17。p9T28资讯网——每日最新资讯28at.com

javax命名空间其实早已成为过去式,毕竟现在已快2024年了。这次Spring团队也是跟着JDK一起,顺势的完全摒弃掉了javax命名空间,拥抱Jakarta EE。p9T28资讯网——每日最新资讯28at.com

另外,之前有些内置进JDK里面的Java EE注解,现在也换“包名”啦,如具有代表性的:JSR-330的@Inject、JSR 250的@PostConstruct、@Predestroy以及及其常用的@Resource注解,Resource包名变成了jakarta.annotation.Resource。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

从Jakarta EE 9开始,便使用了全新的jakarta.*命名空间。本次建议使用从Jakarta EE 10起步。对应的技术主要有:p9T28资讯网——每日最新资讯28at.com

Jakarta Servlet 6.0p9T28资讯网——每日最新资讯28at.com

Jakarta Servlet JSP JSTL 3.0p9T28资讯网——每日最新资讯28at.com

Jakarta Validation 3.0p9T28资讯网——每日最新资讯28at.com

Jakarta WebSocket 2.1p9T28资讯网——每日最新资讯28at.com

Jakarta Persistence 3.1p9T28资讯网——每日最新资讯28at.com

Jakarta JMS 3.1p9T28资讯网——每日最新资讯28at.com

Jakarta JSON 2.1p9T28资讯网——每日最新资讯28at.com

Jakarta JSON Bind 3.0p9T28资讯网——每日最新资讯28at.com

Jakarta Activation 2.1p9T28资讯网——每日最新资讯28at.com

Jakarta Mail 2.1p9T28资讯网——每日最新资讯28at.com

Jakarta Transaction 2.0p9T28资讯网——每日最新资讯28at.com

Jakarta WS RS 3.1p9T28资讯网——每日最新资讯28at.com

Jakarta XML SOAP 3.0p9T28资讯网——每日最新资讯28at.com

Jakarta XML WS 4.0p9T28资讯网——每日最新资讯28at.com

比如:开发web程序最常用的servlet,从maven中央仓库检索,发现:p9T28资讯网——每日最新资讯28at.com

servlet4.0.1以前的版本是javax,从4.0.2版本以后均迁移到了jakartap9T28资讯网——每日最新资讯28at.com

<dependency>p9T28资讯网——每日最新资讯28at.com

<groupId>javax.servlet</groupId>p9T28资讯网——每日最新资讯28at.com

<artifactId>javax.servlet-api</artifactId>p9T28资讯网——每日最新资讯28at.com

<version>4.0.1</version>p9T28资讯网——每日最新资讯28at.com

</dependency>p9T28资讯网——每日最新资讯28at.com

servlet-api从4.0.2版本—6.0.0版本均变成了jakarta.servlet-apip9T28资讯网——每日最新资讯28at.com

<dependency>p9T28资讯网——每日最新资讯28at.com

<groupId>jakarta.servlet</groupId>p9T28资讯网——每日最新资讯28at.com

<artifactId>jakarta.servlet-api</artifactId>p9T28资讯网——每日最新资讯28at.com

<version>4.0.2</version>p9T28资讯网——每日最新资讯28at.com

</dependency>p9T28资讯网——每日最新资讯28at.com

参考文章:https://fangshixiang.blog.csdn.net/article/details/128056207p9T28资讯网——每日最新资讯28at.com

四、Jakarta EE发展现状

打开Jakarta官方网站:https://jakarta.ee/p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

使用 ENTERPRISE JAVA 为云原生架构构建开源生态系统,最新版本:Jakarta EE 10 现已上市。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

Jakarta EE 平台和配置文件规范是各个规范的总括规范。Jakarta EE 平台包括大多数单独的规范,而 Profile 规范包括用于开发 Web 平台和微服务架构的单个规范。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

我们看看Jakarta的生态,包括 Fujitsu、IBM、Oracle、Red Hat 和 Tomittribe 在内的全球企业 Java 生态系统领导者正在共同努力,推动 Java EE 和 Jakarta EE 的发展,以支持将关键任务应用程序和工作负载迁移到云中。另外中国开发应用中间件的企业也在其中,包括普元、宝兰德、东方通、金蝶、华宇、亚信等公司。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

未来Java项目升级JDK后,可能会涉及到到代码的升级,官方出了一篇文章:如何升级到 Jakarta EE 10 和 GlassFish 7 – 这比您想象的要容易得多。https://omnifish.ee/2023/05/06/how-to-upgrade-to-jakarta-ee-10-and-glassfish-7/p9T28资讯网——每日最新资讯28at.com

从旧版本的 Jakarta EE 或 Java EE 升级到 Jakarta EE 10 可能有点棘手,可能需要额外注意细节。您可能会遇到的主要事情之一是确保现有代码和库兼容。某些库可能仍在使用该软件包,这可能会导致在尝试在 Jakarta EE 服务器(如 Eclipse GlassFish 7)上运行应用程序时发生冲突。您可能还会遇到一些在 Jakarta EE 10 中删除的已弃用 API 的问题。javaxp9T28资讯网——每日最新资讯28at.com

但别担心,我们已经为您准备好了!在这篇文章和本系列的未来文章中,我们将解释您需要了解的所有信息,以成功且几乎立即升级到 Jakarta EE 10。p9T28资讯网——每日最新资讯28at.com

升级到 Jakarta EE 10 或 GlassFish 7 的挑战分为以下 3 大类:p9T28资讯网——每日最新资讯28at.com

  • 更改包前缀需要更新对旧包的所有引用javaxjakarta
  • 过时的批注可能需要替换为替代批注
  • 重写使用已删除 API 的代码,这些 API 没有直接的替代方案

以上所有内容不仅适用于您的代码库,也适用于您的应用程序使用的所有依赖项。许多流行的库已经有与 Jakarta EE 10 兼容的新版本,因此更新它们就足够了。但有些图书馆可能不支持 Jakarta EE 10,需要进行特殊调整。幸运的是,有一些工具可以在源代码级别和二进制(字节码)级别上自动执行此操作。p9T28资讯网——每日最新资讯28at.com

幸运的是,许多挑战都可以使用免费和开源工具(如 Openrewrite、WindUp 和 Eclipse Transformer)自动完成。Openrewrite 是一个强大的工具,可以自动更改应用程序的源代码,例如使用新前缀更新对旧包的所有引用。p9T28资讯网——每日最新资讯28at.com

以下是雅加达Jakarta 官方调查问卷的统计,雅加达Jakarta的应用情况。p9T28资讯网——每日最新资讯28at.com

p9T28资讯网——每日最新资讯28at.com

Jakarta EE是用于构建云原生应用程序的顶级框架的基础。p9T28资讯网——每日最新资讯28at.com

雅加达Jakarta 构建云原生应用程序的EE使用率从2021年的47%增加到2022年的53%,而Spring/Spring Boot和MicroProfile的使用量有所下降。p9T28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88389-0.htmlJava EE更名Jakarta EE对程序开发影响,你知道吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: JavaScript如何优雅地告别Cannot read properties of undefined,Optional类体验

下一篇: 一招MAX降低10倍,现在它是我的了

标签:
  • 热门焦点
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • WebRTC.Net库开发进阶,教你实现屏幕共享和多路复用!

    WebRTC.Net库:让你的应用更亲民友好,实现视频通话无痛接入! 除了基本用法外,还有一些进阶用法可以更好地利用该库。自定义 STUN/TURN 服务器配置WebRTC.Net 默认使用 Google 的
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之&ldquo;想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!&rdquo;曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 存在16项违法事实开始于2121年7月,历经一年时间,网络安全审查办公室对“滴滴出行”网络安全审查终于有了一个暂时的结束。据“网信
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
Top