欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Spring中使用javaMail的项目发布问题解决

程序员文章站 2022-04-04 21:56:44
...

 

在项目中实现了用Spring中的JavaMailSenderImpl发送邮件,在applicationContext.xml文件配置如下,
<!-- JavaMail服务bean -->
 <bean id="javaMailSender"
  class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host">
   <value>smtp.163.com</value>
  </property>
  <property name="username">
   <value>lihaiyancarter11</value>
  </property>
  <property name="password">
   <value>7152</value>
  </property>
  <property name="javaMailProperties">
   <props>
    <prop key="mail.smtp.auth">true</prop>
    <prop key="mail.smtp.timeout">25000</prop>
   </props>
  </property>
 </bean>
直接测试时没有问题,但在发布到Tomcat服务器时就有问题了,
15:43:55,608 ERROR ContextLoader:211 - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'javaMailSender' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Class that bean class [org.springframework.mail.javamail.JavaMailSenderImpl] depends on not found; nested exception is java.lang.NoClassDefFoundError: javax/mail/MessagingException
java.lang.NoClassDefFoundError: javax/mail/MessagingException
搞了很久都不明白是什么回事,因为在测试时都没有问题,而且提示中的包在项目里都有.最后通过网上搜索把问题解决了,
原来在使用Spring这样的框架的一些丰富功能时,都要在完整的J2EE容器下运行,因为Spring只不过提供J2EE容器功能的又一种调 用方式罢了,所以把j2ee中的activation.jar,和mail.jar包复制到Tomcat中的common/lib目录下就发布成功了.