tomcat类加载器的层次及加载路径

原创 2015年07月09日 14:49:35

程序代码

URLClassLoader loader = (URLClassLoader) this.getClass().getClassLoader();
while (loader != null) {
    System.out.println(loader.getClass().getName());
    URL[] urls = loader.getURLs();
    for (URL url : urls)
        System.out.println(url);
    System.out.println("----------------------------");

    loader = (URLClassLoader)loader.getParent();
}

System.out.println("BootstrapClassLoader加载路径: ");
URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();
for (URL url : urls) {
    System.out.println(url);
}

运行结果

org.apache.catalina.loader.WebappClassLoader
项目的加载路径…
org.apache.catalina.loader.StandardClassLoader
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/annotations-api.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/catalina-ant.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/catalina-ha.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/catalina-tribes.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/catalina.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/ecj-4.4.2.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/el-api.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/jasper-el.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/jasper.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/jsp-api.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/servlet-api.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-api.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-coyote.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-dbcp.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-i18n-es.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-i18n-fr.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-i18n-ja.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-jdbc.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat-util.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/tomcat7-websocket.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/lib/websocket-api.jar
sun.misc.Launcher$AppClassLoader
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/bin/bootstrap.jar
file:/C:/Program%20Files%20(x86)/Tomcat/apache-tomcat-7.0.62/bin/tomcat-juli.jar
sun.misc.Launcher$ExtClassLoader
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/access-bridge-32.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/dnsns.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/jaccess.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/localedata.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/sunec.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/sunjce_provider.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/sunmscapi.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/sunpkcs11.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/ext/zipfs.jar
BootstrapClassLoader加载路径:
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/resources.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/rt.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/sunrsasign.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/jsse.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/jce.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/charsets.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/lib/jfr.jar
file:/C:/Program%20Files%20(x86)/Java/jdk1.7.0_79/jre/classes

Tomact中的类加载路径

学习Tomact很长时间了,还是对Tomact整个的类加载过程不太明白。今天就来总结一下,其实非常的简单。  首先看一下Tomact的目录结构   目录 描述 /bin 存放在Win...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2015年10月11日 19:59
  • 1692

Tomcat的部署和路径的加载

一、静态部署 1、直接将web项目文件件拷贝到webapps 目录中      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可...
  • u013126379
  • u013126379
  • 2016年05月27日 16:48
  • 286

webapp如何从tomcat的conf目录中加载配置?

问题WebApp中难免访问tomcat中的资源,比如要从conf中读取配置文件,将日志写到logs目录中。使用命令 ./startup.sh 可以启动tomcat,但是不同的启动方式,对工作目录影响很...
  • sinat_28221203
  • sinat_28221203
  • 2015年05月15日 16:58
  • 2109

Tomcat类加载器机制(Tomcat源码解析六)

要说Tomcat的Classloader机制,我们还得从Bootstrap开始。在BootStrap初始化的时候,调用了org.apache.catalina.startup.Bootstrap#in...
  • jiaomingliang
  • jiaomingliang
  • 2015年08月11日 10:28
  • 3032

java与tomcat7类加载机制

1. java类加载器近来了解tomcat的类加载机制,所以先回顾一下java虚拟机类加载器,如果从java虚拟机的角度来看的话,其实类加载器只分为两种:一种是启动类加载器(即Bootstrap Cl...
  • czmacd
  • czmacd
  • 2017年01月04日 11:03
  • 1719

Tomcat的部署和路径的加载

一、静态部署 1、直接将web项目文件件拷贝到webapps 目录中      Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可...
  • u013126379
  • u013126379
  • 2016年05月27日 16:48
  • 286

webapp如何从tomcat的conf目录中加载配置?

问题WebApp中难免访问tomcat中的资源,比如要从conf中读取配置文件,将日志写到logs目录中。使用命令 ./startup.sh 可以启动tomcat,但是不同的启动方式,对工作目录影响很...
  • sinat_28221203
  • sinat_28221203
  • 2015年05月15日 16:58
  • 2109

tomcat加载web应用虚拟目录三种方式(推荐第三种)

----------------------------------------------------------------------------------------------- web应...
  • cos_sin_tan
  • cos_sin_tan
  • 2015年04月18日 14:49
  • 708

配置tomcat的虚拟路径,访问服务器外指定路径下的静态资源,如图片、视频等

在项目开发中,单个工程中,为了以后软件版本升级的方便,经常将网站运行中某些上传的静态资源,如图片、视频等放置在服务器tomcat目录外面,如E盘的pic文件夹放置图片、video文件夹放置视频,那么等...
  • yuancenyi
  • yuancenyi
  • 2016年11月30日 21:55
  • 7751

tomcat自动运行磁盘任意位置上的项目、使用Maven对tomcat进行自动部署

对于非Maven的web项目,有时候我们想不时常通过打war包、拷贝war包、启动tomcat来运行项目、这时候我们可以通过以下方式来进行配置:1.1:创建web工程。工程结构如下:1.2、其中ind...
  • toto1297488504
  • toto1297488504
  • 2016年10月11日 22:40
  • 1037
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat类加载器的层次及加载路径
举报原因:
原因补充:

(最多只允许输入30个字)