`
xiaomogui
  • 浏览: 242707 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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文件就不会被加载了。

分享到:
评论
3 楼 g_man1990 2017-04-28  
g_man1990 写道
在同一个文件夹下,jar包是按顺序从上到下依次加载,按什么顺序?

如何调试,输出jar包加载顺序?
2 楼 g_man1990 2017-04-28  
在同一个文件夹下,jar包是按顺序从上到下依次加载,按什么顺序?
1 楼 上凌九霄 2016-12-02  
谢谢      

相关推荐

    Tomcat启动时类加载顺序

    在Tomcat启动过程中,类的加载顺序是非常重要的一个环节,因为这直接影响到Web应用的正常运行以及类库冲突等问题。 #### 二、类加载机制概述 在Java中,类加载器(ClassLoader)负责将.class文件加载到JVM中。Tomcat...

    tomcat类加载器

    例如,可以通过修改`common.loader`、`shared.loader`和`context.loader`属性来改变类的加载顺序和来源。 在深入研究"DevLoader"之前,需要查看压缩包内的具体文件,例如org目录下可能包含与DevLoader相关的源代码...

    weblogic部署项目jar冲突解决

    7. **分析类加载顺序**:通过WebLogic的日志或工具,如`jarscan`,可以分析类加载顺序,找出冲突的根源。 8. **使用Maven或Gradle的依赖管理**:通过构建工具的依赖管理功能,可以更有效地控制应用的依赖关系,防止...

    Tomcat研究之ClassLoader.pdf

    1. **加载顺序**:在Tomcat中,类的加载遵循特定的顺序。通常情况下,每个子类加载器会先尝试从自己的类路径中加载类,如果找不到,则会向上委托给父类加载器进行加载。这种委托模式确保了类的单一性和安全性。 2. ...

    外部Jar包加载到可执行Jar或War包相关代码

    加载外部Jar到这两种类型的包中,需要考虑到它们的执行环境和加载顺序。 7. **代码示例**: 创建一个简单的自定义类加载器可能如下: ```java public class ExternalJarClassLoader extends ClassLoader { ...

    Tomcat组成及工作原理借鉴.pdf

    Tomcat 组成及工作原理借鉴 Tomcat 是一个开源的 Web 服务器软件,由 ...Tomcat 是一个功能强大和灵活的 Web 服务器软件,提供了一个完善的类加载机制和配置机制,使得开发人员可以快速地开发和部署 Web 应用程序。

    Tomcat通俗讲解

    以下是类加载器的基本层级结构及其加载顺序: - **Bootstrap ClassLoader**:加载Java核心类库,位于`$JAVA_HOME/jre/lib/ext/*.jar`。 - **System ClassLoader**:加载用户自定义的类和类路径中的类库。 - **...

    编写java程序jar包

    除此之外,jar包还可能包含资源文件(如图片、配置文件等)和相关的元数据,如清单文件(Manifest file),它定义了类加载顺序、主类(main class)等信息。 创建jar包的过程通常包括以下几个步骤: 1. **编写Java...

    Tomcat 5.0.18 ClassLoader source code insight

    在Tomcat的运行过程中,ClassLoader起着至关重要的作用,它负责加载应用程序中的类,理解其工作原理能够帮助我们更好地优化应用性能和解决各种加载问题。本文将聚焦于Tomcat 5.0.18版本的ClassLoader源码,探索其...

    Tomcat详解

    Tomcat采用了一种层次化的类加载机制,确保每个类加载器只加载自己权限范围内的类,并遵循特定的加载顺序。这种机制保证了系统的稳定性和安全性。 1. **Bootstrap**:加载核心Java库,这些库通常位于`$JAVA_HOME/...

    Tomcat工作原理祥解.doc

    4. `System`:加载系统类路径中的类和JAR。 5. `$CATALINA_HOME/common/classes`:加载全局共享类。 6. `$CATALINA_HOME/common/endorsed/*.jar`:加载全局共享的JAR。 7. `$CATALINA_HOME/common/lib/*.jar`:加载...

    tomcat的配置 WEB项目发布

    - 类文件和JAR文件的放置位置会影响类的加载顺序。Tomcat会优先加载`classes`目录下的类文件,之后才是`lib`目录下的JAR文件。 - `WEB-INF`目录下的文件对外部直接访问是不可见的,以确保安全性和整洁性。 - 在部署...

    Tomcat 类加载器的实现方法及实例代码

    - WebappX类加载器:每个Web应用都有一个对应的WebappX类加载器,父加载器是Shared,主要负责加载应用的/WEB-INF/classes目录下的class和/WEB-INF/lib目录中的jar包。 - JasperLoader:用于加载JSP编译后的class文件...

    JDK Tomcat Mysql配置大全

    - **加载顺序**:`load-on-startup`指定Servlet加载的优先级,数值越小优先级越高。 #### 五、总结 通过上述步骤,可以有效地配置JDK、Tomcat5.5、Tomcat6.0以及部署MySQL驱动程序。正确的配置是成功部署Java Web...

    TOMACT配置详解

    TOMCAT配置详解 TOMCAT是一款流行的开源Web服务器软件,它基于Java语言开发,可以运行于多种操作系统平台上。在本文中,我们将详细介绍TOMCAT的配置详解,...其中,类库的存放位置和加载顺序是TOMCAT配置的重要部分。

    修正sitemesh3.0.1在tomcat和weblogic下使用Servlet3.1环境时出现装配文件不完整的BUG

    有时,类加载顺序问题也可能导致这种错误。 5. **更新版本**:如果上述步骤都无法解决问题,考虑升级Sitemesh到最新版本,或者回退到已知兼容的版本。 6. **日志和调试**:启用服务器和应用的日志记录,通过详细的...

    java tomcat server应用配置

    例如,设置工作目录、指定加载顺序等。 ```xml ``` 5. **配置Tomcat的虚拟主机**:通过`<Host>`元素配置虚拟主机,使得不同的域名指向不同的Web应用。例如,在`server.xml`中添加如下配置: ```xml ``` ...

Global site tag (gtag.js) - Google Analytics