Tomcat 10.1 try to load custom tags but class not found "javax.servlet.jsp.tagext.Tag"

604 Views Asked by At

I run into a problem with an upgrade to Spring Boot 3. For the layout we use JSP and defined the base layout in a custom tag <t:baseLayout>. After upgrading to Spring Boot 3 and Tomcat 10.1 the system can't load the custom tags anymore.

<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<t:baseLayout>
    Test
</t:baseLayout>

This was working before. When I run it now I get the following error.

Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.Tag
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1437) ~[catalina.jar:10.1.7]
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1245) ~[catalina.jar:10.1.7]
    ... 182 common frames omitted

I know that the "javax" namepace isn't supported anymore in that part but it have haven't defined it. Does anyone know how to solve that problem?

Just in case, I'm also using JSTL

<%@taglib prefix="c" uri="jakarta.tags.core" %>

and this part is working fine and I have installed the following packages.

implementation group: 'jakarta.servlet.jsp.jstl', name: 'jakarta.servlet.jsp.jstl-api', version: '3.0.0'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '3.0.1'
1

There are 1 best solutions below

0
René Höhle On

So in the end i found no working solution for this problem so i migrated the templates to Thymeleaf. There are several libs that didn't work with the tags.

Related Questions in JAKARTA-MIGRATION