[James3] 로컬 테스트 환경 구축기...







James-3.0은 설치해서 테스트는 해봤지만 실제로 주고받는 메시지들을 확인하고 싶어서 개발 환경에 소스를 내려받았습니다.







SVN: http://svn.apache.org/repos/asf/james/server/trunk











2012/11/13 - [JAVA/James] - [James 3] 3.0-beta4 에서 Main 클래스는 어디로...



지난 번에 포스팅했던 적이 있었는데 beta-4에서는 실행시킬 수 있는 클래스가 사라졌습니다. trunk를 체크아웃 받으니 app 프로젝트가 있습니다. (2013.01.08 기준)






"org.apache.james.app.spring.JamesAppSpringMain" 클래스를 실행시키니 ClassNotFoundException 이 후두둑 떨어집니다.










Caused by: java.lang.ClassNotFoundException: org.apache.james.transport.matchers.All






at java.net.URLClassLoader$1.run(Unknown Source)






at java.security.AccessController.doPrivileged(Native Method)






at java.net.URLClassLoader.findClass(Unknown Source)






at java.lang.ClassLoader.loadClass(Unknown Source)






at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)






at java.lang.ClassLoader.loadClass(Unknown Source




...










검색을 해보니 현재 matcher 와 mailet 쪽을 작업 옮기는 작업 중인지 문제가...



(http://comments.gmane.org/gmane.comp.jakarta.james.user/19155)






MatcherLoader 와 MailetLoader 는 하나인데, matcher, mailet 패키지가 분산되어 발생한 문제인 것 같았습니다.






결국 해결책은 꼼수...

















아직 이관되지 않은 matcher 와 mailet 을 org.apache.james.transport.matchers 쪽에 상속 받도록 해놨습니다.







package org.apache.james.transport.matchers;







public class All extends org.apache.james.mailet.standard.matchers.All {







}







10개의 클래스를 꼼수로 만드니 구동됩니다.






이제 다음 스텝으로... 두둥...














댓글

가장 많이 본 글