레이블이 mail인 게시물을 표시합니다. 모든 게시물 표시
레이블이 mail인 게시물을 표시합니다. 모든 게시물 표시

2007년 12월 27일 목요일

Spring 에서 Java Mail 사용시 에러문

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>

그런데 실제 Tomcat 기동시
java.lang.NoClassDefFoundError: javax/mail/MessagingException
이런 에러 문구가 뜨면서 javaMailSender 빈인스턴스 생성시 실패하게 된다.

분석한 결과 Spring내에는 실제 Mail처리 관련 jar파일이 포함이 되어있지 않다는것이다.
Spring에서 Mail관련 기능을  구현하기 위해서는 별도로 J2EE 에 포함된 mail.jar를 필요로 하고 있다.

sun에서 mail.jar를 다운로드 받아 WEB-INF/lib 속에 넣고 다시 빌드를 했더니 그제야 정상적으로 빈을 생성하면서 기동되였다.