IDEA启动tomcat 工作原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33285292/article/details/84257184

1.IDEA启动tomcat工作原理

idea启动tomcat 会打印:

我们需要关注的是CATALINA_BASE与CATALINA_HOME的区别,这里虽然表示的路径是一样的,配置tomcat多实例的时候就会不一样了

CATALINA_BASE    是tomcat的工作目录

CATALINA_HOME   是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的工作目录 
目的在于 : 当你需要在一台机器上面部署多个Tomcat实例,但是你又不想创建多个Tomcat的副本,换句话说就是让这些Tomcat副本拥有自己的工作目录但是共享Tomcat的代码。(举个简单的例子,就好比你装了qq影音播放视频,你可以同时用QQ影音打开多个视频同时观看,这就是多实例,他们共享QQ影音这个主程序)
 

为社么要这么做?这样做的好处有什么?

1.在项目启动后IDEA会自动创建一个tomcat副本,最终运行环境还是CATALINA_HOME里面的lib,只是一些配置文件是使用的CATALINA_BASE目录里面的,如下图。

tomcat  CATALINA_BASE 工作目录

tomcat CATALINA_HOME 安装目录

如果有多个项目可以想一想每个项目会有自己独立的CATALINA_BASE目录,这也就说明每个项目的CATALINA_BASE目录不会互相冲突,这点可以提高一个tomcat的多可用性,也就是官方所讲到的。

2.做到以上是解决了tomcat可以为多个工程提供多个实例但是并不完整。

与此同时IDEA本身将每个项目的输出路劲从tomcat中分离开来,一本默认路劲就是项目的根目录,这样就把刚刚第一点不足完善了。

当然如何你想要传统的部署方式IDEA肯定也是支持的,只不过要配置下。其实很简单就是把刚刚我们上面提到的两点手动配置。

这里就不再更改了。

总结出IDEA启动tomcat工作原理,可以得出跟传统项目差距还是挺大的,所以当使用Eclipse和MyEclipse的用户来说一下子转到IDEA下进行开发非常不习惯,但是IDEA的强大吸引了许多开发者,并让大家爱不释手。

猜你喜欢

转载自blog.csdn.net/qq_33285292/article/details/84257184