一、eclipse默认会将打包好的JavaWeb项目复制到Tomcat 的安装目录下的webapps文件夹下。

IDE用法篇:eclipse和idea部署项目的区别_系统盘
当项目以tomcat方式启动时,及默认加载打包好的项目工程。


二、idea启动则是在你的系统盘用户目录下新建idea项目目录,一般是是你的idea文件的 版本号目录下。

IDE用法篇:eclipse和idea部署项目的区别_版本号_02

这里在idea的output信息里我们可以看到CATALINA_BASE指出的地址已经不是我们项目的根目录, 而是前文提到的系统盘下新建的目录。

很多小伙伴多CATALINA_BASE、CATALINA_HOME、CATALINA_TMPDIR不是很了解,我简单说一下,

CATALINA_BASE:就是Tomcat的工作目录。
CATALINA_HOME:就是tomcat的安装目录
CATALINA_TMPDIR:这个大家应该很清楚吧,看到tmp想必大家不陌生,这个就是tomcat的临时缓存目录。

回到原题,idea启动会在c盘创建目录文件,可是tomcat怎么能读取相应的项目文件呢? 我们接着看

IDE用法篇:eclipse和idea部署项目的区别_系统盘_03
IDE用法篇:eclipse和idea部署项目的区别_系统盘_04
此时我们就会发现真正的地址就是这里存放的xml文件里docBase对应的地址。

IDE用法篇:eclipse和idea部署项目的区别_tomcat_05


总结:
IDEA使用Tomcat部署项目后并不会把编译后的项目复制到tomcat的webapps目录下,但是它会把编译好的项目路径告诉Tomcat,而这个路径就存在系统盘为存放idea版本号建的目录下。从而Tomcat来找到这个项目