코딩항해기

[Error/Spring] java.lang.NoClassDefFoundError 본문

Error solution

[Error/Spring] java.lang.NoClassDefFoundError

miniBcake 2024. 10. 8. 19:52

 

 

 

 

JSTL이 있는 페이지에 접근을 시도하면 500 에러가 발생했다.

NoClassDefFoundError로 클래스를 찾을 수 없다는 내용이다.

 

dependency 문제였는데, https://mvnrepository.com/ 에서 dependency 태그를 찾아 넣으면서 구버전을 넣은 것이 문제였다. 톰캣 10.1을 사용하고 있으므로 개발 환경에 맞는 의존성을 주입해 해결했다.

 

		<!-- 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.2</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.web</groupId>
			<artifactId>jakarta.servlet.jsp.jstl</artifactId>
			<version>3.0.1</version>
		</dependency>

 

javax에서 jakarta로, jakarta로 바뀌며 jstl 구현체(org.glassfish.web)가 추가됐다. 

 

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

 

JSTL을 사용하는 페이지가 이제 정상적으로 구동된다.