• IntelliJ IDEA通过Tomcat启动项目过程分析


    Tomcat部署项目的多种方式

    Tomcat安装目录:${TOMCAT_HOME}

    1.常规的webapps下
    直接部署到${TOMCAT_HOME}/webapps下

    2.利用控制台进行部署

    3.外部部署
    修改${TOMCAT_HOME}/conf/server.xml 在<Host>标签下添加web所在的目录指定path,如: 

    <Context path="/xx" docBase="D:\workspace\xx\target\xx" reloadable="true" sessionCookiePath="/xx"sessionCookieName="yoursessionname"></Context>
    

    4.${TOMCAT_HOME}/conf下建工程目录镜像
    在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为: 

    <Context path="/xx" docBase="D:\workspace\xx\target\xx" debug="0" privileged="true"></Context>
    

    IntelliJ IDEA 启动项目分析

    IntelliJ IDEA 就是使用第四种部署方式,不过还是有些区别

    IDEA 启动/停止 Tomcat 通过catalina.bat run/stop
    但是在${TOMCAT_HOME}/conf下,没有Catalina\localhostxxxx.xml文件
    在.IntelliJIdea2017.1目录下发现有相关的配置文件

    文件的修改时间与内容和启动项目的信息吻合

    说明 IDEA 启动E盘下Tomcat的时候,加载了C盘下的项目部署配置文件
    下面看看catalina.bat的内容

    判断CATALINA_HOME是否为空,如果为空就把当前位置设置为CATALINA_HOME,还有CATALINA_BASE

    E:WorkTomcatIDEAapache-tomcat-7.0.54

    既然确定IDEA是通过E:WorkTomcatIDEAapache-tomcat-7.0.54incatalina.bat启动的,但是此Tomcat目录下的文件修改时间都不是IDEA 启动的时间,说明IDEA 没有修改Tomcat目录

    在查看控制台信息时发现

    Using CATALINA_BASE:   "C:Usersxxxxx.IntelliJIdea2017.1system	omcatUnnamed_jeesite"
    Using CATALINA_HOME:   "E:WorkTomcatIDEAapache-tomcat-7.0.54"
    

    CATALINA_BASE和CATALINA_HOME区别

    之前没有仔细了解CATALINA_BASE和CATALINA_HOME区别
    网上资料:

    CATALINA_HOME是Tomcat的安装目录,CATALINA_BASE是Tomcat的工作目录。如果我们想要运行Tomcat的 多个实例,但是不想安装多个Tomcat软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录 Tomcat每个运行实例需要使用自己的conf、logs、temp、webapps、work和shared目录,因此CATALINA_BASE就 指向这些目录。 而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。

    IntelliJ IDEA就是利用CATALINA_BASE运行多个实例,如图

    via:http://blog.csdn.net/u013938484/article/details/69389836

  • 相关阅读:
    问题解决:FFmpeg视频编解码库,无法解析的外部信号
    2016,最值得市场营销人员关注的数字营销策略
    排序
    hdu 1385 Minimum Transport Cost(floyd &amp;&amp; 记录路径)
    使用Android SwipeRefreshLayout了解Android的嵌套滑动机制
    搜索引擎keyword智能提示的一种实现
    维度模型数据仓库基础对象概念一览
    vs2015编译zlib1.2.8
    关系数据库关系的完整性
    XMPPFrameWork IOS 开发(一)xmpp简介
  • 原文地址:https://www.cnblogs.com/nihaorz/p/6704694.html
Copyright © 2020-2023  润新知