Spring에서 Java Mail을 이용하여 메일 데몬을 작성시 이상한 에러문구가 떴었다.
ApplicationContext에서는 아래와 같이 설정을 했었다.
<beans>
<bean id="javaMailSender"
class="com.nanumsem.nnserp.common.util.AuthenticatedJavaMailSender">
<property name="host">
<value>smtp.xxxx.com</value>
</property>
<property name="username">
<value>xxxxx</value>
</property>
<property name="password">
<value>xxxxx</value>
</property>
</bean>
<bean id="mimeMailSender" class="com.nanumsem.nnserp.common.util.MimeMailSender">
<property name="sender">
<ref bean="javaMailSender"/>
</property>
</bean>
</beans>
<bean id="javaMailSender"
class="com.nanumsem.nnserp.common.util.AuthenticatedJavaMailSender">
<property name="host">
<value>smtp.xxxx.com</value>
</property>
<property name="username">
<value>xxxxx</value>
</property>
<property name="password">
<value>xxxxx</value>
</property>
</bean>
<bean id="mimeMailSender" class="com.nanumsem.nnserp.common.util.MimeMailSender">
<property name="sender">
<ref bean="javaMailSender"/>
</property>
</bean>
</beans>
그런데 실제 Tomcat 기동시
java.lang.NoClassDefFoundError: javax/mail/MessagingException
이런 에러 문구가 뜨면서 javaMailSender 빈인스턴스 생성시 실패하게 된다.
분석한 결과 Spring내에는 실제 Mail처리 관련 jar파일이 포함이 되어있지 않다는것이다.
Spring에서 Mail관련 기능을 구현하기 위해서는 별도로 J2EE 에 포함된 mail.jar를 필요로 하고 있다.
sun에서 mail.jar를 다운로드 받아 WEB-INF/lib 속에 넣고 다시 빌드를 했더니 그제야 정상적으로 빈을 생성하면서 기동되였다.
댓글 없음:
댓글 쓰기