....

JFreeChart + CentOS5.3 + Resin... 한글 깨짐 해결기.. 본문

JAVA

JFreeChart + CentOS5.3 + Resin... 한글 깨짐 해결기..

idkook 2009. 6. 2. 12:00

결론부터 말하자면 반나절 완전 삽질... 음핫핫... 크나큰 교훈을 얻었다..

예전에 JFreeChart에서 서블릿을 지원하지 않던 시절 Redhat9.0에 JFree + Cewolf를 올리면서 한글과 관련된 설정을 찾아서 수정하느라 애먹은 기억이 있다..

환경은 운영서버는 윈도우... 하지만 통합테스트는 리눅스다... 통합에 올렸을때 한글이 깨져도 별로 신경쓰진 않았지만... 불현듯 나중에 리눅스에 배포할때 삽질할 수는 없지 않는가~! 라는 생각이 서두였다....

다시 부랴부랴.. 인터넷을 뒤지기 시작..

$JAVA_HOME/jre/lib/fontconfig.properties 파일을 복사해서 고쳐라 뭐해라... 전부 찾아서 수정했는데도 안된다.

3시간 삽질후 재부팅 한방에 해결했다는 글도 봤고.. 덕분에 한 10번은 껏다킨거 같다.. ㅠㅠ;

JAR파일을 디컴파일해서 Tahoma를 sansserif로 고치는건 당연히 개발하면서 해두었고..
(JAR 리패키징을 그다지 좋아하질 않아서.. classpath에 올려두고 클래스에 우선순위를 둬서 오버라이드 해서 쓰고 있다..)

근데... 죄다 ㅁㅁㅁㅁ에 ????에 뷁스런 글자들로 나온다...

그때 불현듯이 든 생각... 어라? 예전에 Cewolf랑 같이 올렸던 서버도 얼마전에 서버 교체하면서 OS를 바꿨는데 fontconfig.properties 작업을 하지 않고도 한글이 안깨지고 있는데???? 였다..

그제서야 정신 차리고.. 로그를 뒤지기 시작.. (어이~@_@)

아니나 다를까.. 클래스를 몽땅 JAR로 만들어서 올리는데..  같이 배포되는 src에서 Resin이 auto-compile을 돌려버리는것이였다.....
그러면서 로케일관련 에러를 우르르 뱉어내는 황당한 상황을... 이제서야 발견하다니..
당연히 에러는 뱉어내면서도 class파일들은 만들어지고.. jar보다 우선순위가 높으니 멀쩡하게 잘 만들어진 jar를 무시하고 괴상망측하게 로케일 에러 뱉으면서 컴파일된 class를 로딩한 것이다...

걍 auto-compile을 꺼버리니 잘나온다...(애초에 쓰는 항목이 아녔으므로....)

한글 폰트 경로 문제는 여전히 존재하기 때문에 /usr/share/fonts/korean -> /usr/share/fonts/ko 로 링크를 걸어두는건 했는데.. 아마 이것도 안해도 되지 않을까 싶을 정도..
(왜냐면 아무것도 안한 서버에서도 잘 돌아가니까..)

오늘의 교훈이다..
무슨일이 있어도... 로그부터 뒤지자.... 나으 소중한 반나절.... ㅠㅠ;
Comments