idea在運行web項目時部署在tomcat的位置

原文鏈接:https://blog.csdn.net/weixin_39723337/article/details/81234490

idea在運行web項目時部署在tomcat的位置

2018年07月27日 14:17:02 XDarker 閱讀數 1042

今天在看Spring實戰用idea搭建web項目運行時啓動正常但是訪問顯示404資源不存在,然後去配置的tomcat/webapps下一看沒有部署的項目文件,一頓操作弄好之後又去配置的tomcat/webapps下一看還是沒有部署的項目!!這是怎麼訪問成功的??

很奇怪!!印象中使用MyEclipse啓動部署web項目時在webapps下應該會有項目文件...........

項目在tomcat 部署成war exploded 而不是war包

Tips:


 
  1. war模式:將WEB工程以包的形式上傳到服務器 ;

  2. war exploded模式:將WEB工程以當前文件夾的位置關係上傳到服務器;

(1)war模式這種可以稱之爲是發佈模式,看名字也知道,這是先打成war包,再發布。

(2)war exploded模式是直接把文件夾、jsp頁面 、classes等等移到Tomcat 部署文件夾裏面,進行加載部署。因此這種方式支持熱部署,一般在開發的時候也是用這種方式。

(3)在平時開發的時候,使用熱部署的話,應該對Tomcat進行相應的設置,這樣的話修改的jsp界面什麼的東西纔可以及時的顯示出來。

如果需要熱部署的話按如下設置:

經過百度查資料才知道,在idea中配置的tomcat,在運行時idea不會把項目放到自己的webapps路徑下,而是在${user.home}/.IntelliJIdea/system/tomcat 目錄下。

每個項目的配置文件夾中有一個 /conf/Catalina/localhost/ROOT.xml 文件,內容如下:

docBase是指要運行的項目的部署位置,D:\java\IDEAWorkSpace\項目 就是項目源代碼的位置,target是由maven構建後生成的.

運行過程:

首先Intellij會爲每個web項目建立一個單獨的文件夾,以“Unnamed_項目名”命名(可在.idea/workspace.xml中修改)。

在每次啓動項目時,它先將tomcat目錄下原始的CATALINA_BASE目錄拷貝一份到該目錄下,也就是將當前tomcat的配置文件拷貝到“Unnamed_項目名”文件夾下。

然後將CATALINA_BASE的路徑修改爲該目錄的路徑,再在 Unnamed_項目名/conf/Catalina/localhost下添加項目的配置文件ROOT.xml。

最後啓動tomcat,tomcat除了會啓動webapps下應用外還會加載/conf/Catalina/localhost下配置的應用,而Intellij就是通過這種方式“隱蔽”地加載web項目。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章