해당 오류의 경우 타일즈 버전이 낮을 때 발생할 수 있다.

타일즈 버전을 업그레이드하면 해결된다.

nested exception is org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions

우선 pom.xml에서 타일즈 버전을 업그레이드해준다.

필자는 2.2.2에서 3.0.8로 업그레이드해줬다.

그리고 tiles_main.xml 파일의 버전도 업그레이드 해준다.

다음과 같이 servlet-context.xml에서 tiles버전을 2에서 3으로 변경하려고하였다.

그런데 다음과 같이 매핑을 못하고 오류가 발생하였다.

인텔리제이의 경우 클래스명을 입력시 자동으로 매핑을 해주는데, 그것도 안되었다.

해당 오류의 원인은 스프링의 버전이 낮기 때문에 발생한 문제였다.

스프링 버전이 낮아서 해당 타일즈를 미지원 하는 것으로 확인되었다.

다음과 같이 pom.xml에서 스프링 버전을 올려주고

메이븐에서도 버전업된 것을 확인해준다.

이후 다음과 같이 servlet-context.xml을 보면 다음과 같이 미지원 표시로 되는 것을 확인할 수 있다.

스프링 4.3에서는 타일즈2를 미지원함

다음과 같이 tiles3으로 정상 수정되는 것을 확인할 수 있다.

+ Recent posts