首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将servlet 4.0.1升级到Servlet5.0

将servlet 4.0.1升级到Servlet5.0
EN

Stack Overflow用户
提问于 2021-08-09 05:22:53
回答 2查看 3K关注 0票数 3

我正在将servlet 4.0.1升级到Servlet5.0。我在servlet 4.0.1中使用了下面的maven依赖项

代码语言:javascript
运行
复制
<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
</dependency> 

当我升级到Servlet5.0时,我发现有一个新的术语“雅加达”,servlet5附带了下面的maven依赖项的Jakarta。

代码语言:javascript
运行
复制
<dependency>
  <groupId>jakarta.servlet</groupId>
  <artifactId>jakarta.servlet-api</artifactId>
  <version>5.0.0</version>
</dependency>

所以,下面的问题我试着在网上搜索,但是找不到

  1. 请解释一下雅加达这个新名词是怎么出现的?
  2. 这是使用Jakarta升级Servlet5.0的唯一方法吗?我们可以使用旧的'javax.servlet-api‘吗?
  3. 我知道,雅加达也在4.0版本中,但我们没有使用它。它与servlet 4.?https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api没有任何依赖关系吗?
  4. 要将Servlet4.0升级到Servlet5.0,还需要哪些东西呢?

如有任何参考文件,请另加参考。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-09 08:14:52

Servlet规范

你说过:

我正在将servlet 4.0.1升级到Servlet5.0。

不,这实际上不是一次升级。

除了从javax.*jakarta.*包命名之外,Servlet规范在4.0到5.0之间没有明显的变化。

命名空间的这一变化是甲骨文公司将Java技术的责任转移到Eclipse基金会,成为雅加达EE的一个阶段。

从Servlet 4迁移到Servlet 5将不会从任何新特性或改进中获益。

相反,雅加达Servlet 6确实带来了显著的变化和改进。

防波堤

你评论说:

升级到Servlet5.0的主要原因是Jetty11。因为这是码头的先决条件。

Jetty 10与Jetty 11相同,但是包名从javax.*更改为jakarta.*。这两个版本是并行开发的。Jetty 11中没有比Jetty 10更好的特性或改进。

(顺便说一句,Apache 9.x和Tomcat 10.0是包命名更改的并行版本。)

如果您现在想保持保守,请使用Jetty 10和javax.*包命名。如果您想为将来做准备,请使用Jetty11和jakarta.*包命名。

有关于Oracle将Java控制权移交给Eclipse的文章、演讲和访谈,以及相应的名称更改到Jakarta。您真的应该对Oracle到雅加达这个主题做一些基本的行业研究,以了解变化。从维基百科开始

票数 9
EN

Stack Overflow用户

发布于 2021-08-09 06:19:59

  1. 请解释一下雅加达这个新名词是怎么出现的?

Oracle维护了Java,在2017年9月,Oracle宣布Java将提交给。"Java“是Oracle拥有的商标,因此将"Java”重命名为"Jakarta“。

  1. 这是使用Jakarta升级Servlet5.0的唯一方法吗?我们可以使用旧的'javax.servlet-api‘吗?
  2. 我知道,雅加达也在4.0版本中,但我们没有使用它。它与servlet 4.?https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api没有任何依赖关系吗?

Jakarta 8的第一个版本包含Servlet 4.x,它与Java 8兼容。Java 8和Jakarta 8使用javax.*命名空间。

不管你用的是哪一个,两者都会互相配合。

要将Servlet4.0升级到Servlet5.0,还需要哪些东西呢?

要升级到Servlet5.0,您必须使用Jakarta 9。在Jakarta 9中,名称空间从javax.*更改为jakarta.*,因此必须将所有javax.*包导入到jakarta.*包。

此外,如果您正在使用任何其他库,则必须使用兼容版本。

Jakarta的maven依赖项如下。

代码语言:javascript
运行
复制
<dependency>
    <groupId>jakarta.platform</groupId>
    <artifactId>jakarta.jakartaee-web-api</artifactId>
    <version>9.1.0</version>
    <scope>provided</scope>
</dependency>

参考文献:雅加达EE9Web的GitHub模板

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68707177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档