2011. 5. 20. 10:33
IT
[증상]
tomcat4.x 대 버전에서 특정 library를 추가할 경우 아래와 같은 메세지가 출력됨.
Parse Error at line 6 column 19: Document root element "taglib", must match DOCTYPE root "null".
[원인]
특정 라이브러리는 자체개발한 taglibrary를 사용하기위해 taglib 내용을 명세한 tld 파일을 jar 의 MANIFEST 경로 안에 포함하게 되는데 tomcat4.x 에서 사용하는 taglib dtd 버전과 library내에서 사용하는 taglibrary dtd 버전간 호환되지 않아 발생하는 문제임.
[해결책]
A) tomcat 5.x 대로 변경한다.
장점 : tomcat upgrade로 더 나은 세상을(?)
단점 : 4.x -> 5.x 변경 영향도를 고려해야 함. 또한 JDK 버전에 대한 영향도 검토도 필요.
B) 라이브러리 내부의 tld 파일을 tomcat4.x 대 specification에 맞게 수정하여 다시 jar에 포함시킨다.
장점 : 기존 was 버전에 맞게 사용할 수 있다.
단점 : 신규 library의 기능이 정상적으로 동작하는지 검증할 필요가 있다. / 라이센스를 검토해야 한다.
/*
tomcat을 올려야 하는 당위성을 설명하는 과정이 귀찮아서 B)안으로 우선 처리함....
그런데 벌써 두개의 라이브러리가 걸리고 있으므로 장기적으로 볼때 WAS 업그레이드가 권장사항임.
*/