본문 바로가기

Programming/JSP

tiles2는 commons-digester3 에 의존하지 않습니다!! 그 이전 버전에 의존됩니다.

아마 제목을 보시면 황당하실 겁니다.

새로운 버전이 과거 버전에 대해서 지원을 못한다니????

(참, 이 포스팅은...without maven 기준입니다ㅠㅠㅠ 그래서 import를 하나하나 다 해줘야해요ㅠㅠㅠㅠ)


우선 commons-digester가 하는 일은 XML파일을 파싱하여 객체화하는 데에 있다고..

(bean뿐만 아니라 리스트도...ㅎㅎ)

검색해보니 나오네요^^;;;

(웁스!!! XML 파싱하여 객체화작업을 할 일이 있을때 매우 유용하겠는걸요?!!)


여튼 그런 역할을 하는 commons-digester에 대해서 tiles2가 의존하고 있습니다.

그런데 이게 참 골때립니다.

tiles2가 의존하는 녀석은 commons-digester인데

http://commons.apache.org/digester/index.html

위 프로젝트에서 자신있게 제공하는 commons-digester3는

벌써 버전이 3.2까지 업글이 되었는데 ㅎㅎㅎ

의존 실패합니다 ㅎㅎㅎ

java.lang.ClassNotFoundException: org.apache.commons.digester.Rule

이러고 있습니다. ㅎㅎㅎ 미칠뻔했습니다 ㅎㅎㅎ


그래서 class 명을 기준으로 jar파일을 검색해주는

http://www.jarvana.com

요기에서 검색하여 가장 상위에 랭크되어있는 antx-autoconfig라는 녀석을 import해주었지요.

이녀석 ㅋㅋㅋㅋ 사람 약올리는 재주가 있습니다 ㅋㅋㅋㅋ

처음 로딩되는 것부터해서 모~~~~~든 debug 다 찍어댑니다 ㅋㅋㅋㅋ

며칠 다른 작업한다고 일단 내버려뒀습니다.

근데 시간이 지나면서 걱정이 오지요.... 지금 당장에는 실제 서비스가 안되니깐 그냥 그러려니 해도

실제 서비스하면 상상만으로도 웁스합니다.


그래서 오늘 로깅 설정을 어떻게든 제어해보려고 수단과 방법을 가리지않고 구글링하였으나 gg칠때즈음에

혹시, antx-autoconfig에 문제가 있는건 아닐까 하는게 머리를 스치더군요.

그리고 불필요하게 import한 jar파일도 눈에 보이기도 하고 해서 모든 라이브러리 다 지워버렸습니다.

(사실 그 이전엔 slf4j, log4j, commons-logging까지 싹 지웠는데도 debug를 찍어대길래 환장할뻔했지요 ㅎㅎ;;)


그리고 하나씩 import하는데에 막힌 부분이 제목그대로

commons-digester3 를 import했는데도 다시 

java.lang.ClassNotFoundException: org.apache.commons.digester.Rule

이런 익셉션을 뱉어내길래 다시 원점으로 돌아간 기분이었죠.

그리고... 오늘....운동을 포기하고 스스로의 미천한 실력에 야근함에 울분으로 저녁을 폭풍흡입하고 와서 서칭하자

http://struts.1045723.n5.nabble.com/Tiles2-2-2-call-org-apache-commons-digester-Rule-but-commons-digester3-jar-save-Rule-class-in-org-ape-td4612603.html

이 문서를 발견합니다.


2011년 7월에

No, Tiles 2.2.2 uses a previous version of Commons Digester, however I 
suppose they can coexist. 

요런 답변이 달려있군요.

ㅎㅎㅎ ... ㅎㅎㅎ.... ㅎㅎㅎ..... 제 라이브러리에 있던 놈은 commons-digester3.2인데 ... :)

그래도 정말 엄청나게 고맙더군요.


하아 이제 잘됩니다.

아효 정말 미칠뻔했는데...

maven 혹은 ivy쓰세요ㅠㅠㅠㅠㅠㅠ