查询邮箱注册网站,html5手机论坛网站模板,erp系统免费版,jae安装wordpress概述 
在升级Spring Boot到3.0版本以后#xff0c;或升级Spring到6.0版本以上#xff0c;会发现应用编译失败或启动失败等问题。 
经过排查不难得知#xff0c;Spring 6或Spring Boot 3#xff08;实际上依赖于Spring 6#xff09;不再支持javax.开头的一系列依赖包#…概述 
在升级Spring Boot到3.0版本以后或升级Spring到6.0版本以上会发现应用编译失败或启动失败等问题。 
经过排查不难得知Spring 6或Spring Boot 3实际上依赖于Spring 6不再支持javax.开头的一系列依赖包需要改成jakarta.开头的一系列包。 
当然编译失败或启动失败还有其他原因如部分API不再是deprecated而是直接被removed等。另外Spring Boot 3依赖的JDK最低版本是17。 
升级 
dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactId
/dependency根据maven的提示做如下升级 
dependencygroupIdjakarta.servlet/groupIdartifactIdjakarta.servlet-api/artifactIdversion6.0.0/versionscopeprovided/scope
/dependency在代码层面import javax.*替换为import jakarta.*。 
如果你在使用IDEA什么还有Javaer不用IDEA借助于IDEA(2021.2版本)提供的功能  几乎可以一键完成依赖升级。 
javax vs jakarta 
在Java生态系统中最初javax是一个缩写代表Java Extension。javax作为包名包含一系列的Java扩展补充包提供各种不同的功能如Servlet、JDBC、JMS等。这些扩展包通常是Java标准库之外的库需要单独下载和安装可帮助Java开发人员完成各种任务。 
Jakarta EE 
Jakarta EE并不是什么新技术其前身即是Java EE再往前就是J2EE。 
Jakarta EE 9概览  Jakarta EE 9专注于迁移到新的命名空间并清除一些无谓的规范。 
Jakarta EE10概览  Jakarta EE 10包括12个具有主要版本更新的组件规范和12个具有次要版本更新的组件规范。 
随Jakarta EE 10发布的Core Profile 10是 Jakarta EE Technologies 的子集针对微服务和云开发运行时。 从MicroProfile发展而来的。 
Core Profile 10中包含的Jakarta EE组件规范的关键子集 
注释 2.1上下文和依赖注入 (CDI) Lite 4.0依赖注入 2.0表达语言 5.0拦截器 2.0JSON-B 3.0JSON-P 2.1RESTful Web 服务 3.1 
jakarta依赖 
jakarta提供的依赖 
jakarta.servlet-api学习Java Web开发绕不过Servlet。Spring Boot基于Spring基于Spring MVC底层很多概念都是Servlet。jakarta.servlet.jsp.jstl-apijakarta.servlet.jsp-apijakarta.batch-api提供基于XML的作业规范语言(Job Specification Language, JSL)允许以XML形式定义和执行批处理作业。jakarta.persistence-api提供Java持久化API的实现允许开发人员将Java对象映射到关系数据库中。jakarta.jms-apiJava消息服务应用程序接口是一个Java平台中关于面向消息中间件的API用于在两个应用程序之间或分布式系统中发送消息进行异步通信。jakarta.xml.ws-apijakarta.ws.rs-apijakarta.xml.bind-api提供实体类和XML文档来回转换的APIjakarta.json-api用于解析、生成、转换和查询JSON文档。jakarta.json.bind-api提供实体类和JSON文档来回转换的APIjakarta.jakartaee-apijakarta.mail-api提供平台无关和协议无关的邮件收发抽象类jakarta.validation-apijakarta.activation-apijakarta.transaction-apijakarta.inject-apijakarta.el-apijakarta.enterprise.cdi-apijakarta.annotation-api 
附当前最新版Maven GAV 
dependencygroupIdjakarta.servlet/groupIdartifactIdjakarta.servlet-api/artifactIdversion6.0.0/versionscopeprovided/scope
/dependency
dependencygroupIdjakarta.servlet.jsp.jstl/groupIdartifactIdjakarta.servlet.jsp.jstl-api/artifactIdversion3.0.0/version
/dependency
dependencygroupIdjakarta.servlet.jsp/groupIdartifactIdjakarta.servlet.jsp-api/artifactIdversion3.1.1/versionscopeprovided/scope
/dependency
dependencygroupIdjakarta.batch/groupIdartifactIdjakarta.batch-api/artifactIdversion2.1.1/version
/dependency
dependencygroupIdjakarta.json/groupIdartifactIdjakarta.json-api/artifactIdversion2.1.3/version
/dependency
dependencygroupIdjakarta.persistence/groupIdartifactIdjakarta.persistence-api/artifactIdversion3.1.0/version
/dependency
dependencygroupIdjakarta.jms/groupIdartifactIdjakarta.jms-api/artifactIdversion3.1.0/version
/dependency
dependencygroupIdjakarta.xml.ws/groupIdartifactIdjakarta.xml.ws-api/artifactIdversion4.0.0/version
/dependency
dependencygroupIdjakarta.ws.rs/groupIdartifactIdjakarta.ws.rs-api/artifactIdversion3.1.0/version
/dependency
dependencygroupIdjakarta.xml.bind/groupIdartifactIdjakarta.xml.bind-api/artifactIdversion4.0.2/version
/dependency
dependencygroupIdjakarta.json.bind/groupIdartifactIdjakarta.json.bind-api/artifactIdversion3.0.0/version
/dependency
dependencygroupIdjakarta.platform/groupIdartifactIdjakarta.jakartaee-api/artifactIdversion10.0.0/versionscopeprovided/scope
/dependency
dependencygroupIdjakarta.mail/groupIdartifactIdjakarta.mail-api/artifactIdversion2.1.3/version
/dependency
dependencygroupIdjakarta.validation/groupIdartifactIdjakarta.validation-api/artifactIdversion3.0.2/version
/dependency
dependencygroupIdjakarta.activation/groupIdartifactIdjakarta.activation-api/artifactIdversion2.1.3/version
/dependency
dependencygroupIdjakarta.transaction/groupIdartifactIdjakarta.transaction-api/artifactIdversion2.0.1/version
/dependency
dependencygroupIdjakarta.inject/groupIdartifactIdjakarta.inject-api/artifactIdversion2.0.1/version
/dependency
dependencygroupIdjakarta.el/groupIdartifactIdjakarta.el-api/artifactIdversion5.0.1/version
/dependency
dependencygroupIdjakarta.enterprise/groupIdartifactIdjakarta.enterprise.cdi-api/artifactIdversion4.0.1/version
/dependency
dependencygroupIdjakarta.annotation/groupIdartifactIdjakarta.annotation-api/artifactIdversion2.1.1/version
/dependency拓展 
jakarta项目 
jakarta项目所包括的相关工具、库以及框架等罗列如下: 
BCEL处理Java字节码的类库BSF脚本程序框架Cactus服务器端Java类测试工具框架ECSThe Element Construction Set is a Java API for generating elements for various markup anguagesHttpComponentsThe Hyper-Text Transfer Protocol.JCSa distributed caching system written in java.JMeter压力测试工具OROJava classes that provide Perl5 compatible regular expressions.Regexp纯Java正则表达式包Slidea content repository primarily using WebDAV.TaglibsRepository for JSP custom tag libraries 
单独项目 
最开始所有关于Java的项目都集中在Apache的Jakarta项目之下作为子项目存在这时的Tomcat称为Jakarta Tomcat。后来Jakarta下面项目太多就开始分家如Ant、Tomcat等故而现在称Apache Tomcat。 
以前隶属于雅加达项目但现在作为Aapche软件基金的单独项目: 
Ant在Maven出现之前特别流行的构建工具Commons一组使用类的合集主要作为Java标准库的补充HiveMinda services and configuration microkernelMavena project build and management toolPOIa pure Java port of Microsoft’s popular file formats.Struts很多大龄程序员肯定对这个很熟悉一个Web应用开发框架。大概十多年前非常流行的Web开发框架SSHStrutsSpringHibernate。后来流行的SSMSpring-MVCSpringMyBatis。 TapestryA component object model based on JavaBeans properties and strong specificationsTomcat服务器提供JSP/Servlet相关容器类Turbinea rapid development web application frameworkVelocitya template engine 
参考 
什么是Jakarta EE