(轉)
以前一直很好奇,在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\項目\target\xxx-web" />
- 1
- 2
- 1
- 2
其中,path是指在訪問此項目時,是否需要添加額外的路徑,如果為空,則直接使用域名或者ip就可以訪問到該項目:127.0.0.1。這個值在ieda中的Run/Debug Configurations中可以配置:
docBase是指要運行的項目的部署位置,D:\work\項目
就是我的項目源代碼的位置,target是由maven構建后生成的,D:\work\項目\target\xxx-web
目錄就是maven build完成之后生成的項目,結構如下:
而idea啟動tomcat的命令為:
也就是說,整個項目運行過程為:首先maven build項目,將構建結果寫到項目的target目錄下,然后idea復制一份tomcat的配置文件到${user.home}/.IntelliJIdea/system/tomcat
中,之后啟動tomcat安裝目錄下的catalina.bat文件,tomcat讀取配置文件,找到項目位置,然后就運行起來了。