(转)
以前一直很好奇,在idea中运行tomcat,把项目部署到其中,运行起来,然后我去tomcat目录下去看,根本找不到我部署的项目 那我的项目是咋运行的啊… - -
后来我就查啊查 ,纠结啊纠结,然后大概知道是咋回事了:
在idea中配置的tomcat,在运行时idea不会把项目放到该路径下,而是复制一份足够的配置文件,到 ${user.home}/.IntelliJIdea/system/tomcat
目录下:
也就是说每个项目都有属于自己的一份tomcat配置,互不干扰。
每个项目的配置文件夹中有一个 /conf/Catalina/localhost/ROOT.xml
文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="D:work项目 argetxxx-web" />
- 1
- 2
- 1
- 2
其中,path是指在访问此项目时,是否需要添加额外的路径,如果为空,则直接使用域名或者ip就可以访问到该项目:127.0.0.1。这个值在ieda中的Run/Debug Configurations中可以配置:
docBase是指要运行的项目的部署位置,D:work项目
就是我的项目源代码的位置,target是由maven构建后生成的,D:work项目 argetxxx-web
目录就是maven build完成之后生成的项目,结构如下:
而idea启动tomcat的命令为:
也就是说,整个项目运行过程为:首先maven build项目,将构建结果写到项目的target目录下,然后idea复制一份tomcat的配置文件到${user.home}/.IntelliJIdea/system/tomcat
中,之后启动tomcat安装目录下的catalina.bat文件,tomcat读取配置文件,找到项目位置,然后就运行起来了。