문제의 코드.
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/res/" + resourceVersion + "/**").addResourceLocations("/res/")
.setCachePeriod(60 * 60 * 24 * 365);
}
Local STS 환경에서는 정상적으로 동작하지만 운영환경의 tomcat9 에서 정적자원을 인식 못하는 문제가 발생했습니다.
실제 정적자원의 위치는 /webapps/res 입니다.
tomcat에서 돌렸더니 실제 위치인 /res와 리소스핸들의 /res 가 충돌이나서 /res/1.0/js/test.js 이런식의 주소를 인식하지 못하게 된겁니다.
해결책은 충돌나지 않게 이름을 변경해주는거죠.
변경 후 코드.
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/asset/" + resourceVersion + "/**").addResourceLocations("/res/")
.setCachePeriod(60 * 60 * 24 * 365);
}
정상적으로 동작하네요.
'java' 카테고리의 다른 글
프롤로그에서는 콘텐츠가 허용되지 않습니다. (0) | 2019.12.03 |
---|---|
java - runtime exec (0) | 2019.11.28 |
spring boot 설정 파일 vm옵션으로 외부에서 불러오기 (0) | 2019.11.20 |
Open JDK 사용하기 (0) | 2019.10.29 |
java simpledate format (0) | 2019.08.22 |
javascript 이미지에서 색 추출하기. (0) | 2019.08.21 |
java - xml read, write (0) | 2019.08.16 |
java SimpleDateFormat 한글 요일 (0) | 2019.07.19 |