idea配置tomcat里你不知道的小秘密
首先
提一個大家都常見,卻都不是很知曉的問題。就是war和war exploded的區別是什么?
1.war模式:將WEB 工程以包的形式上傳到服務器;
2.war exploded模式: 將WEB 工程以當前文件夾的位置關系上傳到服務器;
也就是說:
1)war模式這種可以稱之為是發布模式,看名字也知道,這是先打成war包,再發布。
2)war exploded模式是直接把文件夾、jsp頁面 、classes等等移到Tomcat 部署文件夾里面,進行加載部署。因此這種方式支持熱部署,一般在開發的時候也是用這種方式。
3)在平時開發的時候,使用熱部署的話,應該對Tomcat進行相應的設置,這樣的話修改的jsp界面什么的東西才可以及時的顯示出來。
第一種war形式
我們設置好war包形式,然后運行tomcat
第二種war exploded形式
再以war exploded的形式運行tomcat
結論我們發現兩種形式,都沒有在tomcat下的wabapps下發現war包。
這也就是我要提的小秘密,也可能只有我自己認為是個小秘密,哈哈然后我就思考,為什么會出現這樣的問題,使用tomcat配置了呀,運行的war包怎么沒有部署在tomcat下。有點違背最初使用eclipse的時候的套路呀!
經過調查:發現在idea中配置的tomcat,在運行時idea不會把項目放到自己的webapps路徑下,而是在${user.home}/.IntelliJIdea/system/tomcat 目錄下。
比如我的是在:C:\Users\georgedage.IntelliJIdea2018.3\system\tomcat\Unnamed_epidemic_management_system
docBase是指要運行的項目的部署位置,D:\java\IDEAWorkSpace\項目 就是項目源代碼的位置,target是由maven構建后生成的.
所以最終的解惑就在于:
1.首先Intellij會為每個web項目建立一個單獨的文件夾,以“Unnamed_項目名”命名(可在.idea/workspace.xml中修改)。
2.在每次啟動項目時,它先將tomcat目錄下原始的CATALINA_BASE目錄拷貝一份到該目錄下,也就是將當前tomcat的配置文件拷貝到“Unnamed_項目名”文件夾下。 _
3.然后將CATALINA_BASE的路徑修改為該目錄的路徑,再在 Unnamed項目名/conf/Catalina/localhost下添加項目的配置文件ROOT.xml。
4.最后啟動tomcat,tomcat除了會啟動webapps下應用外還會加載/conf/Catalina/localhost下配置的應用,而Intellij就是通過這種方式“隱蔽”地加載web項目。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的idea配置tomcat里你不知道的小秘密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dependency 'mysql:my
- 下一篇: 从vivo 大规模特征存储实践中学点经验