遇到的技术问题

1. 入门spring+quarts常见问题

nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/SetUtils
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/SetUtils

由于使用的commons-collections.jar版本太低或者根本没有引入。建议使用3.2的
对于使用MyEclipse的,如果导入了commons-collections.jar 3.*的包还不行,而且没有找到其他的包的话很可能是MyEclipse自带的Liberary中包括了版本低的包而你导入了这个lib。
比如MyEclipse的Hibernate的Lib中包括commons-collections.jar但是版本是2.*。
Window->Preferences->Myeclipse->Project Capabilities->Hibernate
从lib中删除此包即可。

javax/transaction/UserTransaction
Caused by: java.lang.NoClassDefFoundError: javax/transaction/UserTransaction
提示缺少:javax.transaction.UserTransaction。

原因是在工程中没有加入jta.jar这个包!

2. 转载一个问题点
   http://carter.zhmy.com/archives/2007/113041.html
   在Spring中使用javaMail的项目发布问题解决
   前天在项目中实现了用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目录下就发布成功了.

你可能感兴趣的:(技术)