偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java EE更名Jakarta EE對(duì)程序開(kāi)發(fā)影響,你知道嗎?

開(kāi)發(fā) 前端
javax命名空間其實(shí)早已成為過(guò)去式,畢竟現(xiàn)在已快2024年了。這次Spring團(tuán)隊(duì)也是跟著JDK一起,順勢(shì)的完全摒棄掉了javax命名空間,擁抱Jakarta EE。

一、前言

很多Java程序員在使用新版本的Spring6或者springboot3版本的時(shí)候,發(fā)現(xiàn)了一些叫jakarta的包。我在閱讀開(kāi)源工作流引擎camunda源代碼的時(shí)候,也發(fā)展了大量jakarta的工程包。

比如:camunda的webapps編譯工程就提供了2種方式j(luò)avax和jakarta

* `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.

網(wǎng)上也有好多同學(xué)使用Tomcat時(shí)遇到到Jakarta.servlet與javax.servlet包沖突的問(wèn)題。

Tomcat10中解決eclipse內(nèi)部Jakarta.servlet與javax.servlet不兼容問(wèn)題方法:

https://blog.csdn.net/mmmm0584/article/details/115161865

引起以上問(wèn)題的原因是:Java EE更名為Jakarta EE,javax命名空間變?yōu)閖akarta,javax包名前綴變?yōu)閖akarta。

二、Java EE為什么更名Jakarta EE

2009年4月20日,甲骨文(Oracle)公司和Sun公司今天共同宣布了最終協(xié)議,甲骨文公司將以74億美元收購(gòu)SUN公司。當(dāng)時(shí),Sun Microsystems被譽(yù)為世界上最具前瞻性的IT公司之一,有能力以開(kāi)放軟件及硬件為結(jié)合,進(jìn)行全面統(tǒng)一的系統(tǒng),給客戶帶來(lái)最大的價(jià)值。Oracle收購(gòu)Sun Microsystems表明,它希望借助Sun Microsystems的關(guān)鍵軟件和技術(shù)資源,將自身現(xiàn)有的專業(yè)的管理體系,硬件解決方案,及應(yīng)用程序發(fā)展技術(shù)集成在同一個(gè)平臺(tái)上,從而創(chuàng)建一個(gè)更加完善的企業(yè)增值產(chǎn)品和服務(wù)。

2018年,Oracle(甲骨文)決定將Java EE移交給開(kāi)源組織Eclipse基金會(huì),但甲骨文不允許開(kāi)源組織用Java的名號(hào),于是Eclipse選出了 "Jakarta EE" 和"Enterprise Profile"兩個(gè)名字,最終前者勝出。

Eclipse基金會(huì)高管Mike Milinkovich表示,7000多人參與了Java EE的更名投票,64%的票數(shù)支持改為Jakarta EE,另有35.6%的票數(shù)支持Enterprise Profile。

Oracle將Java EE(Java SE還自己保留)交給開(kāi)源組織,Eclipse基金會(huì)接手。但Oracle不允許開(kāi)源組織使用Java名號(hào),所以Jakarta EE名稱于2018.02.26應(yīng)運(yùn)而生。Oracle收購(gòu)了Sun公司,涉及到商標(biāo)和版權(quán)原因,Javax改名為Jakarta迫不得已。

從Java EE到Jakarta EE,企業(yè)版Java、JDK的發(fā)展歷程,參考:

https://cloud.tencent.com/developer/article/1847110

三、Java EE更名Jakarta對(duì)軟件影響

Spring Framework作為Java領(lǐng)域最為流行的框架,有非常龐大的用戶群體和項(xiàng)目應(yīng)用,Java開(kāi)源框架里絕對(duì)的TOP1。我們首先看看Java EE更名Jakarta對(duì)Spring Framework的影響。

Spring Framework 6正式發(fā)布,攜JDK 17&Jakarta EE開(kāi)啟新篇章,Spring Framework為何一躍將JDK的baseline從JDK 8提到JDK 17,以及廢棄javax,啟用全新的jakarta命名空間。Spring Framework 6基于JDK 17構(gòu)建。換句話講,若想使用Spring Framework 6那么你的JDK環(huán)境最低要求JDK 17。

javax命名空間其實(shí)早已成為過(guò)去式,畢竟現(xiàn)在已快2024年了。這次Spring團(tuán)隊(duì)也是跟著JDK一起,順勢(shì)的完全摒棄掉了javax命名空間,擁抱Jakarta EE。

另外,之前有些內(nèi)置進(jìn)JDK里面的Java EE注解,現(xiàn)在也換“包名”啦,如具有代表性的:JSR-330的@Inject、JSR 250的@PostConstruct、@Predestroy以及及其常用的@Resource注解,Resource包名變成了jakarta.annotation.Resource。

從Jakarta EE 9開(kāi)始,便使用了全新的jakarta.*命名空間。本次建議使用從Jakarta EE 10起步。對(duì)應(yīng)的技術(shù)主要有:

Jakarta Servlet 6.0

Jakarta Servlet JSP JSTL 3.0

Jakarta Validation 3.0

Jakarta WebSocket 2.1

Jakarta Persistence 3.1

Jakarta JMS 3.1

Jakarta JSON 2.1

Jakarta JSON Bind 3.0

Jakarta Activation 2.1

Jakarta Mail 2.1

Jakarta Transaction 2.0

Jakarta WS RS 3.1

Jakarta XML SOAP 3.0

Jakarta XML WS 4.0

比如:開(kāi)發(fā)web程序最常用的servlet,從maven中央倉(cāng)庫(kù)檢索,發(fā)現(xiàn):

servlet4.0.1以前的版本是javax,從4.0.2版本以后均遷移到了jakarta

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>javax.servlet-api</artifactId>

<version>4.0.1</version>

</dependency>

servlet-api從4.0.2版本—6.0.0版本均變成了jakarta.servlet-api

<dependency>

<groupId>jakarta.servlet</groupId>

<artifactId>jakarta.servlet-api</artifactId>

<version>4.0.2</version>

</dependency>

參考文章:https://fangshixiang.blog.csdn.net/article/details/128056207

四、Jakarta EE發(fā)展現(xiàn)狀

打開(kāi)Jakarta官方網(wǎng)站:https://jakarta.ee/

使用 ENTERPRISE JAVA 為云原生架構(gòu)構(gòu)建開(kāi)源生態(tài)系統(tǒng),最新版本:Jakarta EE 10 現(xiàn)已上市。

Jakarta EE 平臺(tái)和配置文件規(guī)范是各個(gè)規(guī)范的總括規(guī)范。Jakarta EE 平臺(tái)包括大多數(shù)單獨(dú)的規(guī)范,而 Profile 規(guī)范包括用于開(kāi)發(fā) Web 平臺(tái)和微服務(wù)架構(gòu)的單個(gè)規(guī)范。

我們看看Jakarta的生態(tài),包括 Fujitsu、IBM、Oracle、Red Hat 和 Tomittribe 在內(nèi)的全球企業(yè) Java 生態(tài)系統(tǒng)領(lǐng)導(dǎo)者正在共同努力,推動(dòng) Java EE 和 Jakarta EE 的發(fā)展,以支持將關(guān)鍵任務(wù)應(yīng)用程序和工作負(fù)載遷移到云中。另外中國(guó)開(kāi)發(fā)應(yīng)用中間件的企業(yè)也在其中,包括普元、寶蘭德、東方通、金蝶、華宇、亞信等公司。

未來(lái)Java項(xiàng)目升級(jí)JDK后,可能會(huì)涉及到到代碼的升級(jí),官方出了一篇文章:如何升級(jí)到 Jakarta EE 10 和 GlassFish 7 – 這比您想象的要容易得多。https://omnifish.ee/2023/05/06/how-to-upgrade-to-jakarta-ee-10-and-glassfish-7/

從舊版本的 Jakarta EE 或 Java EE 升級(jí)到 Jakarta EE 10 可能有點(diǎn)棘手,可能需要額外注意細(xì)節(jié)。您可能會(huì)遇到的主要事情之一是確?,F(xiàn)有代碼和庫(kù)兼容。某些庫(kù)可能仍在使用該軟件包,這可能會(huì)導(dǎo)致在嘗試在 Jakarta EE 服務(wù)器(如 Eclipse GlassFish 7)上運(yùn)行應(yīng)用程序時(shí)發(fā)生沖突。您可能還會(huì)遇到一些在 Jakarta EE 10 中刪除的已棄用 API 的問(wèn)題。javax

但別擔(dān)心,我們已經(jīng)為您準(zhǔn)備好了!在這篇文章和本系列的未來(lái)文章中,我們將解釋您需要了解的所有信息,以成功且?guī)缀趿⒓瓷?jí)到 Jakarta EE 10。

升級(jí)到 Jakarta EE 10 或 GlassFish 7 的挑戰(zhàn)分為以下 3 大類:

  • 更改包前綴需要更新對(duì)舊包的所有引用javaxjakarta
  • 過(guò)時(shí)的批注可能需要替換為替代批注
  • 重寫使用已刪除 API 的代碼,這些 API 沒(méi)有直接的替代方案

以上所有內(nèi)容不僅適用于您的代碼庫(kù),也適用于您的應(yīng)用程序使用的所有依賴項(xiàng)。許多流行的庫(kù)已經(jīng)有與 Jakarta EE 10 兼容的新版本,因此更新它們就足夠了。但有些圖書館可能不支持 Jakarta EE 10,需要進(jìn)行特殊調(diào)整。幸運(yùn)的是,有一些工具可以在源代碼級(jí)別和二進(jìn)制(字節(jié)碼)級(jí)別上自動(dòng)執(zhí)行此操作。

幸運(yùn)的是,許多挑戰(zhàn)都可以使用免費(fèi)和開(kāi)源工具(如 Openrewrite、WindUp 和 Eclipse Transformer)自動(dòng)完成。Openrewrite 是一個(gè)強(qiáng)大的工具,可以自動(dòng)更改應(yīng)用程序的源代碼,例如使用新前綴更新對(duì)舊包的所有引用。

以下是雅加達(dá)Jakarta 官方調(diào)查問(wèn)卷的統(tǒng)計(jì),雅加達(dá)Jakarta的應(yīng)用情況。

Jakarta EE是用于構(gòu)建云原生應(yīng)用程序的頂級(jí)框架的基礎(chǔ)。

雅加達(dá)Jakarta 構(gòu)建云原生應(yīng)用程序的EE使用率從2021年的47%增加到2022年的53%,而Spring/Spring Boot和MicroProfile的使用量有所下降。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2018-03-05 08:59:21

Java 開(kāi)源Oracle

2019-01-08 16:26:43

Java EEJ2EEJakarta EE

2021-07-05 06:51:44

Java 企業(yè)版編程

2022-02-15 19:50:18

加載器JAVAJDK

2024-08-06 11:27:23

LLM鏈系統(tǒng)AI

2024-04-07 00:00:00

ESlint命令變量

2024-05-28 09:12:10

2023-04-26 10:21:04

2023-12-20 08:23:53

NIO組件非阻塞

2024-04-30 09:02:48

2023-12-12 08:41:01

2025-01-20 00:00:00

Java語(yǔ)言Record

2024-04-15 00:04:00

APP開(kāi)發(fā)

2011-06-28 13:43:50

Java EE

2024-11-20 08:31:49

前端全棧技術(shù)

2020-06-18 09:04:59

CC++程序

2022-12-02 14:12:52

新能源汽車海爾

2024-07-08 00:00:01

多線程ThreadC#

2025-02-18 08:11:17

2022-11-04 14:16:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)