[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개의 클래스를 꼼수로 만드니 구동됩니다.
이제 다음 스텝으로... 두둥...