IntelliJ IDEA tomcat配置原理理解

在用IntelliJ IDEA配置tomcat的时候发现项目部署在tomcat后,在tomcat安装目录/webapps下没有找到对应的项目目录,觉得不太理解 关于tomcat配置理解,可以看我另一篇博客

先看看IDEA启动tomcat的信息

发现 CATALINA_BASE和CATALINA_HOME的路径并不一样,在eclipse中配置tomcat两者是同一个目录。

来看看这两个目录的意思

Throughout the docs, you’ll notice there are numerous references to CATALINA_HOME. This represents the root of your Tomcat installation. When we say, “This information can be found in your CATALINA_HOME/README.txt file” we mean to look at the README.txt file at the root of your Tomcat install. Optionally, Tomcat may be configured for multiple instances by defining CATALINA_BASE for each instance. If multiple instances are not configured, CATALINA_BASE is the same as CATALINA_HOME.

意思是CATALINA_HOME是tomcat的安装目录,CATALINA_BASE是工作目录,tomcat会被配置成每个不同的实例定义不同的CATALINA_BASE。 CATALINA_BASE等路径的配置在tomcat安装目录/bin/Catalina.bat

这样做是为了当需要配置多个tomcat实例的时候,可以使用共用的安装目录(里面的lib和bin目录,bin目录里有启动文件)。

 

On each launch of a local Tomcat run configuration, original CATALINA_BASE folder (as specified in the 'Tomcat base directory' field of the Application server dialog) is copied to a created "runtime" CATALINA_BASE folder.
After copied, "runtime" CATALINA_BASE folder is customized.
Location of  "Runtime" CATALINA_BASE folder is chosen on the first launch is kept on further launches.
The main reason for this, is to allow to launch several Tomcat local run configurations being based on the same Tomcat installation. 

 IDEA tomcat部署项目的时候不是把项目发布在/webapps下的。每次有新的项目部署在tomcat上时,原始的CATALINA_BASE文件夹被复制到一个创建的“运行时”CATALINA_BASE文件夹中,然后IDEA修改CATALINA_BASE的值,改为这个新建的文件夹,这个文件夹命名为Unnamed_项目名_x   这个x是如果同一个项目删除了tomcat配置重新进行配置时,x会从1开始递增,如果不变,那么每次这个项目部署到tomcat都用这个文件里的配置

我们打开这个文件夹,目录结构和tomcat是一样的,不过没有bin和lib目录,因为都是共用安装目录下的

每个Tomcat实例都有一个配置ROOT.xml文件,路径/conf/Catalina/localhost/ROOT.xml,打开来看看

里面配置了一个context, 指明了项目在哪里,yj是我的项目名,/target是build成功后放的位置,目录是/target/项目名还是/target取决于IDEA配置tomcat的打包类型,是哪一种

war:exploded的话是前一种目录

ROOT.xml就会告诉tomcat程序在什么位置,tomcat会去找,解压war,如果没有ROOT.xml(因为tomcat默认主程序的目录是webapps/root,所以tomcat会先找这个文件),tomcat会根据/conf/servlet.xml里的context去找应用程序,如果都没有找到,则会报错

 

现在看看/conf目录下

可以看到有些.0文件,这些就是IDEA复制过来的原来的tomcat的配置文件,不是.0后缀是针对这个部署的项目做了修改的

 

这里,我们就清晰一些了,IDEA把项目部署在tomcat不会部署在tomcat安装目录/webapps下,不像eclipse,而是IDEA会新建一个实例,目的是为了让多个tomcat实例有自己独立的工作目录但共享安装目录。以上是一点对IDEA tomcat配置原理的理解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值