`
IvanLi
  • 浏览: 602726 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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/下,结果邮件怎么也发不出去。
Bootstrap: uses JVM classes & looks in $JAVA_HOME/jre/lib/ext
         |
      System:    uses $CATALINA_HOME/bin/bootstrap.jar
         |       and  $JAVA_HOME/lib/tools.jar
         |
      Common:    uses $CATALINA_HOME/common/lib
        /  \     and $CATALINA_HOME/common/classes
       /    \    and $CATALINA_HOME/common/endorsed
      /      \   >> jsp and servlet API jars are here
     /        +---------------------------------+
    /                                           |
Catalina:  uses $CATALINA_HOME/server/lib       |
           and $CATALINA_HOME/server/classes    |
           >> catalina.jar is here              |
                                             Shared: uses 
$CATALINA_BASE/shared/lib
                                               / \    and 
$CATALINA_BASE/shared/classes
                                              /   \
                                         Webapp1  Webapp2 ... <--- **GREEDY** 
CLASSLOADERS
分享到:
评论

相关推荐

    tomcat详解与启动加载顺序

    tomcat详解与启动加载顺序 tomcat详解与启动加载顺序

    Tomcat启动时类加载顺序

    ### Tomcat启动时类加载顺序详解 #### 一、引言 Apache Tomcat是一款开源的Servlet容器,主要用于部署Java Web应用程序。它支持最新的Servlet、JSP等规范,并且以其轻量级、简单易用的特点而受到开发者的青睐。在...

    Tomcat启动顺序

    【标题】:Tomcat启动顺序 【描述】:Tomcat作为Apache软件基金会的开源Java Servlet容器,其启动过程是理解其工作原理的关键部分。Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、...

    tomcat类加载器

    类加载器遵循双亲委派模型,这意味着当一个类加载器尝试加载类时,它首先会将请求委托给其父类加载器,直到到达顶层的Bootstrap ClassLoader,如果父类加载器无法找到该类,子类加载器才会尝试自己加载。 在Tomcat...

    tomcat 类加载机制 —— ClassLoader

    类加载遵循“双亲委托模型”,即当一个类加载器收到加载类的请求时,它会首先委托父类加载器尝试加载,只有当父类加载器无法找到对应的类时,才会自己尝试加载。这样保证了基础类库的一致性,同时也允许Web应用覆盖...

    Java 类在 Tomcat 中是如何加载的(过程分析)

    - **System类加载器**:加载Tomcat启动所需的类,如bootstrap.jar。 - **Common类加载器**:加载Tomcat共用的类库,这些类库位于`CATALINA_HOME/lib`目录下。 - **Webapp类加载器**:每个Web应用程序都有自己独立...

    tomcat 源码分析系列文档

    5. "tomcat加载类的顺序.doc":详细说明了Tomcat加载类的具体步骤和顺序,这对于理解和调试类加载问题至关重要。 6. "Tomcat源码研究.pdf":提供了一个全面的源码分析概览,可能包括了Tomcat的主要组件、设计模式...

    解决tomcat5.5以上不能用命令行启动的问题

    这些脚本会执行一些初始化任务,包括设置环境变量、加载JVM参数、初始化类加载器以及启动服务器。 问题可能出现在以下几个方面: 1. **环境变量配置**:确保`JAVA_HOME`和`CATALINA_HOME`环境变量已正确设置。`...

    Tomcat服务器配置、启动分析、Servlet文件配置

    `Tomcat启动分析-Servlet-Web.xml.doc`文档可能涵盖了启动过程中的关键步骤,包括加载`context.xml`(用于全局配置)、解析`web.xml`(Web应用的部署描述符)以及初始化Servlet和过滤器等。在启动过程中,Tomcat会...

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

    StandardClassLoader与URLClassLoader类似,而WebappClassLoader则按照Servlet规范的顺序加载类。 在初始化过程中,如在Bootstrap的initClassLoaders方法中,会创建并设置这些类加载器。例如,commonLoader是通过...

    web项目的启动时文件加载顺序1

    在Web开发中,理解Web项目的启动时文件加载顺序是至关重要的,因为它直接影响到应用程序的初始化和运行。本文将深入探讨这个主题,重点关注Web容器如何处理配置文件`web.xml`,以及不同组件(如`context-param`、`...

    Spring+SpringMVC配置加载顺序1

    1. 应用启动,Servlet容器查找并实例化实现ServletContainerInitializer的类(SpringServletContainerInitializer)。 2. SSCI发现并使用实现WebApplicationInitializer的类(比如我们的AACDSI子类)。 3. ...

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

    类加载的顺序为: 1. /Web-INF/classes 2. /Web-INF/lib/*.jar 3. Bootstrap 4. System 5. $CATALINA_HOME/common/classes 6. $CATALINA_HOME/common/endores/*.jar 7. $CATALINA_HOME/common/lib/*.jar 8. $...

    Tomcat启动时报错:java.lang.UnsatisfiedLinkError的解决

    3. **类加载顺序问题**:在多模块项目中,如果两个或更多模块都包含了同一个本地库,而它们的加载顺序不正确,也可能导致UnsatisfiedLinkError。 针对上述问题,我们可以采取以下策略进行解决: ### 解决方法一:...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    tomcat 学习与分析总结资料

    1. **Tomcat启动脚本catalina** Tomcat的启动脚本`catalina.sh/bat`是服务器运行的关键。这个脚本负责配置环境变量、初始化Java选项,并启动或关闭Tomcat服务器。通过研究这个脚本,我们可以了解如何配置JVM参数,...

    tomcat

    2. **启动过程分析**:Tomcat的启动过程包括读取配置文件、初始化服务器、加载web应用等步骤。其中,`catalina.sh/bat`是主要的启动脚本,它会读取`conf/server.xml`等配置文件,这些文件定义了服务器的端口、线程池...

Global site tag (gtag.js) - Google Analytics