Tomcat6.0.18的bin目录下有一个bootstrap.jar文件,而这个jar中的内容在lib目录下的catalina.jar文件中也存在。为什么要把同样的class放在2个不同的jar中,而且还单独提取出来放到bin目录下?
从源码中可以看到,Tomcat6.0.18使用common ClassLoader加载lib目录下的jar,但执行启动脚本时,是把bin目录下的bootstrap.jar设置到-classpath中,然后执行MAINCLASS=org.apache.catalina.startup.Bootstrap。此时,是使用System ClassLoader来加载的Bootstrap.class。如果不单独提取出bootstrap.jar,而是将catalina.jar设置到-classpath中,这时catalina.jar中的所有class将会被System ClassLoader加载。
如果是后者就会出现问题了,catalina.jar中的类使用了通过common ClassLoader加载的lib目录下的jar中的class,而此时catalina.jar却是被System ClassLoader加载,默认的双亲委派会导致加载器的向上委托加载,导致catalina.jar中的class找不到common ClassLoader加载的class。
如果单独将bootstrap.jar提取出来,设置到-classpath中则就不会出现上述问题。而将bootstrap.jar放置到bin目录下,还有另外的用途,在源码中可以看到:
File bootstrapJar =
new File(System.getProperty("user.dir"), "bootstrap.jar
");
if (bootstrapJar.exists()
) {
try {
System.setProperty
("catalina.home",
(new File(System.getProperty("user.dir"), ".."))
.getCanonicalPath());
} catch (Exception e) {
// Ignore
System.setProperty("catalina.home",
System.getProperty("user.dir"));
}
} else {
System.setProperty("catalina.home",
System.getProperty("user.dir"));
}
分享到:
相关推荐
基于LINUX的TOMCAT6 apache-tomcat-6.0.18-src.tar.gz
这个"apache-tomcat-6.0.18.rar"压缩包包含了Apache Tomcat的6.0.18版本,这是一个较早但仍然被一些用户使用的稳定版本。 在Java服务器领域,Tomcat因其轻量级、高效且易于配置的特点而广受欢迎。它实现了Sun ...
### Tomcat 6.0.18 配置详解 #### 一、前言 本文主要针对`tomcat_6.0.18_配置[文].pdf`文档中的内容进行详细解读,帮助读者理解如何配置Apache Tomcat 6.0.18,并通过实例演示如何搭建一个基本的JSP应用。 #### ...
总的来说,"apache-tomcat-6.0.18_rjmed.rar"是一个集成了JSP编程语言和MySQL数据库的医药进销存管理系统,它提供了全面的医药行业管理解决方案,同时也为学习者提供了宝贵的实践平台。无论是企业还是个人,都能从中...
1. 下载:首先,从官方或者可靠的源下载适用于您操作系统的Tomcat版本,如本例中的apache-tomcat-6.0.18.exe。 2. 安装:运行.exe文件,按照向导指示进行安装,选择合适的安装目录。 3. 配置:安装完成后,配置...
Zotero-6.0.18_linux-x86_64.tar.bz2
java运行依赖jar包
2. 解压:使用命令行工具或图形界面解压工具将`apache-tomcat-6.0.18.tar.gz`解压到所需的目录。解压后,会得到一个名为`apache-tomcat-6.0.18`的目录,其中包含所有必要的文件和子目录。 3. 配置环境变量:为了方便...
【标题】"Tomcat6.0.18 解压缩版" 涉及的主要知识点是Apache Tomcat服务器的6.0.18版本,这是一个开源的、基于Java Servlet和JavaServer Pages (JSP) 技术的应用服务器。Tomcat是Java EE Web应用程序部署的最常用...
资源分类:Python库 所属语言:Python 资源全名:ybc_speech-6.0.18.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
【标题】"绿色免安装Tomcat6.0.18"是针对Java应用程序服务器Tomcat的一个特殊版本,它不需要通过传统的方式进行安装,比如运行安装程序。这种版本通常是为了方便用户快速部署和运行,尤其适合那些对系统环境要求不高...
本文将详细讲解如何在Linux系统上安装和配置`apache-tomcat-6.0.18.tar.gz`这个压缩包。 一、下载与准备 首先,你需要在官方网站或可靠的资源站点下载`apache-tomcat-6.0.18.tar.gz`的压缩包。下载完成后,将文件...
尽管后续有更高版本的Tomcat发布,但6.0.18仍被一些开发者用于维持老项目或者作为学习基础。 【压缩包子文件的文件名称列表】"apache-tomcat-6.0.18" 指的是Tomcat的完整源代码和二进制文件的打包。这个压缩包内...
### Tomcat 6 学习笔记 #### 一、Tomcat 6 平台搭建与配置 ##### 1. 下载与安装 Tomcat 6 是一个免费且开源的Servlet容器,由Apache软件基金会下的Jakarta项目开发。可以通过官方网站:...
7. **安装程序**:`apache-tomcat-6.0.18.exe`是一个Windows平台的安装程序,简化了在Windows系统上部署Tomcat的过程,包括自动设置环境变量和创建启动快捷方式等。 8. **核心组件**:`apache-tomcat-6.0.18`目录下...
标题“tomcat_6.0.18(免安装 解压即可使用)”指的是Apache Tomcat 6.0.18版本,这是一个轻量级、开源的Java应用服务器,主要用于部署和运行Java Servlets和JavaServer Pages (JSP)。这个版本的Tomcat是免安装的,...
文件名“apache-tomcat-6.0.18.exe”表明这是一个Windows平台下的安装程序,用户可以通过运行这个exe文件来在Windows系统上安装Tomcat 6.0.18。安装过程中,用户可以选择安装路径、配置端口号、设置环境变量等,以...
Apache Tomcat 6.0.18 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,主要用于部署和运行Java Web应用程序。这个版本是解压缩版,意味着用户下载后无需进行编译,...
本压缩包“apache-tomcat-6.0.18.zip”包含了运行和管理Java web应用程序所需的所有组件。 首先,Tomcat是Apache软件基金会Jakarta项目的一部分,它是一个轻量级的应用服务器,尤其适合小型到中型的应用。与更重量...