java和javax都是Java的API(Application Programming Interface)包,java是核心包,javax的x是extension的意思,也就是扩展包。java类库是java发布之初就确定了的基础库,而javax类库则是在上面增加的一层东西,就是为了保持版本兼容要保存原来的,但有些东西有了更好的解决方案,所以,就加上些,典型的就是awt(Abstract Windowing ToolKit) 和swing。
什么是JAVAX?
Java和Javax本质上是与Java编程语言的上下文一起使用的包。启动java包的命令是import java,而启动javax包的命令是import javax。例如:import java.util.*; 或者导入javax.util.*;
原来,作为标准API的一部分的所有内容都是java包的一部分,而不是标准API一部分的所有内容都是在包名javax下发布的。因此,API所必需的包是java,而javax包含API的扩展名。甚至可以说javax,只是一个带有x的java,代表了扩展。
随着时间的推移,作为javax发布的扩展成为Java API的组成部分。但是,将扩展从javax包移动到java包将是太麻烦了,最终会破坏一堆现有的代码。因此,最终决定javax包将成为标准API的一部分。
所以,实际上java和javax没有区别。这都是一个名字
>>javax 和 jakarta:https://baijiahao.baidu.com/s?id=1758965939027753195&wfr=spider&for=pc
在 Java 生态系统中,最初,javax 是一个缩写,代表 Java Extension。javax 作为包名,包含了一系列的 Java 扩展包,它们提供了各种不同的功能,例如 servlet、JDBC、JMS 等。这些扩展包通常是 Java 标准库之外的库,需要单独下载和安装,但它们是 Java 核心 API 的补充,可以帮助 Java 开发人员完成各种任务。
随着时间的推移,Java 技术和规范不断发展和演变,Java 生态系统也在不断变化。为了跟上这种变化,Jakarta 项目应运而生。Jakarta 旨在为 Java 开发人员提供一个更加开放和中立的基础,使他们能够更轻松地构建高效、安全、可靠的应用程序。
Apache Tomcat 项目中,javax 和 jakarta 都有出现。
需要注意的是,Tomcat 10 与之前的版本有一些不同之处,例如包名从 javax 改为了 jakarta,某些 API 也有所变化。因此,在迁移项目到 Tomcat 10 时,需要逐步将项目中的 javax 包名替换为 jakarta,同时对于 API 的变化也需要进行适当的调整。