xsw222 发表于 2017-2-5 14:23:45

tomcat中class和jar的加载顺序

  当我们启动一个tomcat的服务的时候,jar包和claess文件是是以怎么样的顺序被加载进来的?
  加载顺序:
  1. $java_home/lib 目录下的java核心api 
  2. $java_home/lib/ext 目录下的java扩展jar包
  3. java -classpath/-Djava.class.path所指的目录下的类与jar包
  4. $CATALINA_HOME/common目录下按照文件夹的顺序从上往下依次加载
  5. $CATALINA_HOME/server目录下按照文件夹的顺序从上往下依次加载
  6. $CATALINA_BASE/shared目录下按照文件夹的顺序从上往下依次加载
  7. 我们的项目路径/WEB-INF/classes下的class文件
  8. 我们的项目路径/WEB-INF/lib下的jar文件
  在同一个文件夹下,jar包是按顺序从上到下依次加载
  由ClassLoader的双亲委托模式加载机制我们可以知道,假设两个包名和类名完全相同的class文件不再同一个jar包,如果一个class文件已经被加载java虚拟机里了,那么后面的相同的class文件就不会被加载了。
页: [1]
查看完整版本: tomcat中class和jar的加载顺序