当前位置: 首页 > 知识库问答 >
问题:

为什么spring boot starter jetty依赖于tomcat嵌入el?

欧阳智志
2023-03-14

我们在Jetty上使用Spring Boot(2.7.x)。依赖扫描器告诉我们,依赖树中仍然有Tomcat依赖。

当查看spring boot starter jetty 2.7.1的POM时,我发现spring boot starter jetty依赖于tomcat embed el。tomcat嵌入el包含来自javax的类。el和组织。阿帕奇。el包,所以我认为这是Tomcat的表达式语言解析器实现?

有人知道为什么吗?我下载了相同版本的独立Jetty,但它没有这个tomcat库。

有关依赖项,请参阅此处https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jetty/2.7.1

共有1个答案

昝晗昱
2023-03-14

在Spring Boot 2.5中,已决定将EL实现统一到Apache实现(请参阅此问题)。

因此,所有容器现在都依赖于tomcat嵌入el,因为这是Javax el的Apache实现(和常规API)。因此,Jetty(以及Undertow)对Tomcat jar的依赖性很小。

 类似资料:
  • 我不太明白它解决了什么问题。它看起来像是这样说:“Hi.当你运行到这个函数时,返回一个对象,它是这种类型的,并且使用这些参数/数据。” 但是...我为什么要用这个?注我也从来不需要使用,但我理解这是为了什么。 在构建一个网站或桌面应用程序时,有哪些实际情况可以使用DI?我可以很容易地想出为什么有人想在游戏中使用接口/虚拟函数的例子,但是在非游戏代码中使用这种方法是极其罕见的(非常罕见,以至于我都记

  • 问题内容: 已经发布了几个问题,其中包括有关依赖项注入的特定问题,例如何时使用它以及支持它的框架。然而, 什么是依赖项注入?何时/为什么/不应该使用它? 问题答案: 依赖注入 将依赖传递给其他 对象 或 框架 (依赖注入器)。 依赖注入使测试更加容易。注入可以通过 构造函数 完成。 其构造函数如下: 问题 :如果涉及复杂的任务,例如磁盘访问或网络访问,则 很难 对其进行单元测试。程序员必须进行模拟

  • 基于这个问题的答案-[如何将Jersey REST Web服务添加到嵌入式tomcat中? 这似乎对其他人有用。是否有人有一个GIT项目或maven项目所需的依赖项列表,该项目将用于嵌入式tomcat(v8. x或更新版本)和泽西v2. x的REST终结点? 这是POM文件 http://maven.apache.org/xsd/maven-4.0.0.xsd" 下面是启动tomcat的类: 公共

  • 考虑下面的代码: 上面的代码是一个表示一个汉堡包类。 该类假设汉堡包括Bun, Patty 和 Toppings。 该类还负责制作Bun, Patty 和 Toppings。 这是一件坏事。 如果需要素食汉堡怎么办? 一个天真的方法可能是: 好吧,这有点不同,它在某些方面更灵活,但它仍然相当脆弱。 如果Patty构造函数改变以允许新的功能会发生什么? 整个汉堡包类必须更新。 事实上,任何时候任何这

  • 我有自己的ADFS部署在网上。 我让它信任一些像SAMLtest.id这样的SPs在配置这个信任的过程中,我每次只填写两件事: SALM ACS 依赖方信任标识符(SAML发行者) 仅此而已。没有SP元数据文件,只有这两条信息。然后它工作,SAMLtest.id SP 被我的 ADFS 信任,我就可以执行 SSO 身份验证。同样的事情是与一些内部SP一起工作。 然后每个SP从其元数据文件中信任我的

  • 问题内容: 我想知道 _什么是Spring Framework? 为什么和何时应该在Java Enterprise开发中使用它? _ 答案将是“依赖注入框架”。好了,使用依赖注入框架时我们有什么优势?用setter值和/或构造函数参数描述类的想法对我来说似乎很奇怪。为什么这样 因为我们可以更改属性而无需重新编译项目?这就是我们所获得的一切吗? 那么,我们应该用什么对象来描述?所有对象还是只有几个?