記錄-Intellij Idea下以Tomcat運行Web項目時的位置問題


    今天本來准備把原來的一個Web項目導入到Idea下,之前這個項目是用eclipse寫的,容器用的tomcat,首先導入前我把一些沒用的配置文件都給刪了,像什么.eclipse、.setting什么的,然后值留了src和WebContent,直接以源碼文件導入到Idea下,然后配置一下tomcat什么的,這一切都沒有什么問題,直到我配置完tomcat啟動,下意識去看了一下Tomcat的Webapps目錄,發現里面根本沒有我的項目,這一下讓我摸不着頭腦。

    后來百度了一下,發現其實idea中配置tomcat,運行的時候其實不會把項目放到自己的webapps目錄下,而是放到了

 {$user.home}/Library/Caches/IntelliJIdea2019.1/tomcat下對應的項目下。

 

 

    其中IntelliJIdea2019.1是對應的idea的版本,在{$user.home}/Library/Caches目錄下一共有3個版本的idea,其他兩個是我以前用過的,這就很清晰了。

 

    進入IntelliJIdea2019.1目錄下的tomcat目錄,發現里面就是剛剛部署到tomcat的項目 alipay,名稱是通過我們的項目名轉化而來,並且每個項目都有屬於自己的一份tomcat配置,互不干擾。

 

   進入這個項目目錄下,主要主要conf、logs和work目錄,conf里面主要是配置文件,logs是日志信息,在自己的tomcat目錄下是看不到項目的日志的

  

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

  

 其中Context path對應的是idea中tomcat配置的Application context,如果是tomcat中配置的是"/",那么文件的名字就叫ROOT.xml並且Context path="",訪問的時候直接ip+端口即可訪問到項目,但是如果tomcat中配置了,那么該文件的名字就變成了你配置的參數的名字,並且文件中的Context path與配置的參數相對應。

 

  那么tomcat的server配置中的URL訪問地址也會自動幫你加上這個名稱

 

  並且/conf/Catalina/localhost/ROOT.xml 文件名與文件中的Context path參數也會與你配置的Application context保持一致

 

  其中的另一個參數docBase是指要運行的項目的部署位置,這個位置是可以指定的

   整個項目運行過程是:先將項目進行build編譯,將編譯后的文件放到指定位置,然后idea復制一份tomcat的conf、logs和work文件夾到${user.home}/.IntelliJIdea/system/tomcat 中,之后啟動tomcat安裝目錄下的catalina.sh文件,tomcat讀取配置文件,找到項目位置,然后就運行起來了。

  能夠解決這個問題也是參考了一個大神的博客,在這里也十分的感謝,並附上原文鏈接:https://blog.csdn.net/Victor_Cindy1/article/details/72680553

  結束:要善於發現問題並解決問題,經常問自己為什么,這是一個好習慣,我會繼續保持,加油!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM