tomcat启动加载类的顺序

键字: 企业应用       

今天在写一个用java发email的程序的一点总结:
在tomcat如果要使用mail session,必须保证activation.jar和mail.jar在同一个级别的classpath tomcat5默认是在${CATALINA_HOME}common/lib/下放了mail.jar,但是没有activation.jar,就这一点害的我今天忙了半天。
下面是tomcat启动加载类的顺序,记住在container环境下,类是有层次的,我今天就是把activation.jar 放在了WEB-INF/lib下,mail.jar在${CATALINA_HOME}common/lib/下,结果邮件怎么也发不出去。

代码
  1. Bootstrap: uses JVM classes & looks in $JAVA_HOME/jre/lib/ext   
  2.          |   
  3.       System:    uses $CATALINA_HOME/bin/bootstrap.jar   
  4.          |       and  $JAVA_HOME/lib/tools.jar   
  5.          |   
  6.       Common:    uses $CATALINA_HOME/common/lib   
  7.         /  \     and $CATALINA_HOME/common/classes   
  8.        /    \    and $CATALINA_HOME/common/endorsed   
  9.       /      \   >> jsp and servlet API jars are here   
  10.      /        +---------------------------------+   
  11.     /                                           |   
  12. Catalina:  uses $CATALINA_HOME/server/lib       |   
  13.            and $CATALINA_HOME/server/classes    |   
  14.            >> catalina.jar is here              |   
  15.                                              Shared: uses    
  16. $CATALINA_BASE/shared/lib   
  17.                                                / \    and    
  18. $CATALINA_BASE/shared/classes   
  19.                                               /   \   
  20.                                          Webapp1  Webapp2 ... <--- **GREEDY**    
  21. CLASSLOADERS   

你可能感兴趣的:(应用服务)