Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Why does spring-boot-starter-jetty depend on tomcat-embed-el?

We are using Spring-Boot (2.7.x) with Jetty. Our dependency scanner told us, that we still have Tomcat dependencies in our dependency tree.

When looking at the POM for spring-boot-starter-jetty 2.7.1 I found out that spring-boot-starter-jetty depends on tomcat-embed-el.
The tomcat-embed-el contains classes from the javax.el and org.apache.el package, so I thinks this is an/the Expression-Language-Parser implementation for Tomcat?

Anybody knows why? I downloaded the same version of Standalone-Jetty and it doesn’t have this tomcat library.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

See here for the dependencies https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jetty/2.7.1

>Solution :

In Spring Boot 2.5 the decision has been made to unify the EL implementation to the Apache one (See this issue).

Hence all containers now depend on the tomcat-embed-el as that is the Apache implementation (and regular API) for the Javax EL. Hence Jetty (and Undertow as well) have this small dependency on a Tomcat jar.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading