I am trying to upgrade from Spring 5 to Spring 6 and get the following error:
Unable to find taglib [c] for URI: [jakarta.tags.core]
I have the following in my pom:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>5.0.1</version>
</dependency>
And I use the URI like this in JSP:
<%@ taglib prefix="c" uri="jakarta.tags.core" %>
The URI should be correct according to https://jakarta.ee/specifications/tags/3.0/jakarta-tags-spec-3.0.html#preface. I can't find any documentation on what dependencies I am missing to include.
Make sure to also add not only the API but also the Jakarta Tags Implementation:
Maven
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>3.0.0</version>
</dependency>
Gradle
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl:3.0.0'