[Springboot] Velocity 사용 중 unable to find resource
Development/Web

[Springboot] Velocity 사용 중 unable to find resource

반응형

springboot에 템플릿 엔진으로 velocity를 사용해보고 있는데,


아래와 같은 에러 메세지를 접하게 된다.



23:28:19.346 [XNIO-1 task-2] ERROR org.apache.velocity - ResourceManager : unable to find resource '/nav.vm' in any resource loader.
23:28:19.353 [XNIO-1 task-2] ERROR org.apache.velocity - #include(): cannot find resource '/nav.vm', called at arrival.vm[line 18, column 1]
23:28:19.365 [XNIO-1 task-2] ERROR io.undertow.request - UT005023: Exception handling request to /arrival



springboot를 사용하면 resources 밑에 templates < 디렉토리에 묶인 파일들은 알아서 view resolver로 등록을 해주게 되는데


templates 밑에 동일 depth로 .vm 파일들을 놔두면 위와같은 에러를 볼 수 없지만, 디렉토리 정리 겸 위와 같이 구조를 짜게 된다면


만날 수 있는 에러이다..


IDE로 IntelliJ를 쓰고 있는데, 각 디렉토리 생성 후 .vm파일들을 드래그해서 옮기게 되면


nav를 따로 빼서 상단 UI를 구성하는 뷰를 include해서 쓰고 있는데


#include("nav.vm")

와 같은 형태를


#include("../nav.vm")


로 바꿔버린다.. ?


해서.. IDE에서는 실행이 되지만, 이걸 서버에 배포하려고 해서 jar로 패키징한 후에 실행하려하면 해당 vm파일을 찾을 수 없다고 뜨는 에러이다.


사뿐히 디렉토리가 명시된 vm파일을 디렉토리참조를 제거해주면 오류가 해결된다.


참고로 template 엔진은 매우 깐깐해서 그냥 이름만 넣어드려야 한다.


아래는 오류 뱉으시는 부분이다.

#include("../nav.vm")

#include("/nav.vm")


이건 안 뱉음

#include("nav.vm")


반응형

'Development > Web' 카테고리의 다른 글

HTTP에 관해서  (0) 2019.04.06
[Spring] spring boot XML Response 매핑  (1) 2017.06.01
[Springboot] Velocity 사용 중 unable to find resource  (0) 2017.02.28