본문 바로가기

개발관련/error

[error jstl core STS] class org.apache.taglibs.standard.tlv.JstlCoreTLV cannot be cast to class jakarta.servlet.jsp.tagext.TagLibraryValidato

728x90

Problem

STS 4.15.3.RELEASE 버전에서 maven 으로 pom.xml 에 jstl 및 taglib 추가 후

<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>

사용 시 에러.

 

jstl 추가시 에러 없었고 taglib 사용하려고 위의 코드 추가시 에러 발생

 

 

<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>


<dependency> 
  <groupId>taglibs</groupId> 
  <artifactId>standard</artifactId> 
  <version>1.1.2</version> 
</dependency>

 

cause

SpringBoot 3.0 이상부터 다른 라이브러리 필요한 듯?

 

 

resolving

추가했던 디펜던시 다 지우고 해당 디펜던시 추가하니 사용 가능

 

<!-- https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api -->
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.glassfish.web/jakarta.servlet.jsp.jstl -->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
</dependency>

 

 

 

 


https://velog.io/@agline/SpringBoot-3.0%EB%B2%84%EC%A0%84-%EC%9D%B4%EC%83%81%EC%97%90%EC%84%9C-JSTL-%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95