JSP 프로젝트에서 반복문을 돌리기 위해 JSTL Core 태그를 추가했더니,
java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator라는 500 에러가 발생했습니다.
원인은 JSTL dependency였습니다.
스프링 3.0 버전은 JSTL dependency 코드를 아래와 같이 바꿔야 합니다.
// Gradle dependencies
implementation 'javax.servlet:jstl:1.2'
// 위 코드를 아래 코드로 변경
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0'
// Maven dependency
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
// 위 코드를 아래 코드로 변경
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
참고:
https://mvnrepository.com/artifact/org.glassfish/javax.servlet.jsp.jstl/3.0.1
잘못된 내용 있으면 알려주시면 감사하겠습니다.