-
스프링부트 3.0 javax/servlet/jsp/tagext/TagLibraryValidator 에러 해결하기Spring Boot 2023. 6. 10. 17:17반응형
java.lang.NoClassDefFoundError javax/servlet/jsp/tagext/TagLibraryValidator
오랜만에 스프링부트에서 jsp+jstl 조합으로 개발할 일이 있어 셋팅하다 한참을 삽질 후 해결법을 설명한다.
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.0</version>
본인의 스프링부트 버전 3.1.0
일반적인 스프링에서 jstl을 사용하면 아래의 의존성을 추가하면 되었지만 계속 javax/servlet/jsp/tagext/TagLibraryValidator 에러발생
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
우선 스프링부트 3.0에서 Servlet의 패키지가 변경됨
javax.servlet =====> jakarta.servlet
javax.* 부분을 jakarta.* 으로 변경해야 함
그러므로 javax.servlet 패키지의 의존성을 사용불가
그래서 아래의 의존성 4개를 추가하면 문제없이 된다.
pom.xml
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> </dependency> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> </dependency>
반응형'Spring Boot' 카테고리의 다른 글
Redis 레디스 + 스프링부트 SpringBoot 연동 RedisTemplate, @Cacheable 사용하기 (10) 2024.10.20 스프링 Spring @Autowired? @Component? @Bean?차이 (0) 2023.07.16 스프링부트 배포시 ORA-01882: timezone region not found 오류 해결하기 (0) 2022.09.18 스프링부트 EC2 배포시 org.thymeleaf.exceptions.TemplateInputException 에러 (0) 2022.09.18 [몽고DB] SpringBoot 스프링부트 + 몽고DB 연동 및 CURD (0) 2022.08.07