반응형
2021년 12월 6일 어제 서버 배포를 하는데 Element type "tiles-definitions" must be declared. 배포 후 서버에서 이러한 에러가 발생했습니다.
급 당황했는데 다행히 다른 서버에는 배포를 안 하고 살아있어서 다행이었습니다.
서버에서 이렇게 에러메시지가 나서 곧이어서 로컬에서도 동일한 메시지가 발생했습니다.
어떻게 해결했는지 살펴보도록 하겠습니다.
1. 서블릿에서 설정된 타일즈(tiles) 버전 확인
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" />
<property name="order" value="1" />
</beans>
저희는 3 버전을 사용하고 있었습니다.
2. 타일즈(tiles) 설정 확인
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
타일즈 버전이 2.1로 되어있는 걸 확인하였습니다.
서블릿 설정한 타일즈 버전과 실제 설정과의 버전 차이로 인해서 에러가 발생했습니다.
3. 오류 해결
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
이렇게 서블릿과 설정에 버전을 둘 다 동일하게 3, 3.0으로 수정했습니다.
수정하고 나니 에러가 해결되고 구동이 잘되었습니다.
반응형
댓글