# 시작하며
현장실습에서 스프링 부트를 이용해 프로젝트를 진행했고(추후 하나씩 과정들을 업로드할 예정) 배포했을 시 타임리프 관련된 에러가 생겼다.
# 발단 및 해결
template might not exist or might not be accessible by any of the configured Template Resolvers
template might not exist or might not be accessible by any of the configured Template Resolvers
분명 개발 단계에서는 정상 작동 했기 때문에 배포시의 문제가 확실함을 느꼈다. 일단 첫번째로는 application.properties에 있는 타임리프 관련 속성들이 잘 적용 됐는지 확인했다.
# thymeleaf
spring.thymeleaf.check-template-location=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
다음과 같이 classpath의 속성이 잘 적용 된 것을 볼 수 있다.
# 시도
일단 properties가 잘 적용 됐는지 확인해봤다. 지우기도하고 경로도 바꿔가면서 일단 이게 잘 적용 됐는지 확인했다.
# 해결
일단 index를 찾지 못했고 에러가 나는 부분은 html파일의
<head th:replace="/fragments/header.html :: fragment-header">
이번에는 맨앞 슬러시를 제거해줬다.
<head th:replace="fragments/header.html :: fragment-header">
이렇게 해주니 잘 해결 된 것을 알 수 있었다.
# 참고
[Thymeleaf] jar 배포시에만 뷰 단을 못 찾는 이슈
Spring boot + Thymeleaf + IntelliJ 개발 툴에서 실행시 정상 작동하나 jar로 실행시 index 페이지만 진입되고 다른 페이지는 뷰단을 못찾음 application.yml에는 Thymeleaf 설정하지 않음 view path: /member/custom-login t
devsurimlee.tistory.com
Thymeleaf : 정적 리소스, URL 제대로 알고 사용하자
들어가기 전 토이 프로젝트를 하며 가장 어렵다고 느꼈던 부분은 타임리프에서 URL 링크를 적절히 사용하는 부분이었다. 어떻게 URL 경로를 걸어야 할지 굉장히 애매해서 로컬 환경에서 테스트를
ojt90902.tistory.com
'• 개발 > Spring boot' 카테고리의 다른 글
[SpringBoot] Amazon Linux 2 AMI JDK11 설치 및 타임존 설정하기 (0) | 2023.08.08 |
---|---|
[SpringBoot&트러블슈팅] ddl-auto를 validate로 변경했을때 missing table 에러 해결하기 (0) | 2023.08.01 |
[SpringBoot&트러블슈팅] 연관관계 편의 메소드에서 @Builder를 사용할때 발생하는 NPE (0) | 2023.07.06 |
[트러블슈팅] 타임리프에서 소수점 반올림 하는 방법 (0) | 2023.05.20 |
[트러블슈팅] Github Action으로 스프링부트 CI/CD 적용중 생기는 경로 이슈 (0) | 2023.05.05 |