본문 바로가기
프로그래밍/에러모음

Element type "tiles-definitions" must be declared.

by imfireguy 2021. 12. 8.
반응형

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으로 수정했습니다.

수정하고 나니 에러가 해결되고 구동이 잘되었습니다.

반응형

댓글