日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(三)IDEA部署Tomcat原理

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (三)IDEA部署Tomcat原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

部署成功之后,發現好多都不太懂,不明白怎么就部署成功了,具體運行方式也不懂,所以就 在網上查了一些資料,還有一些有點不確定的因素,希望和大家一塊討論。

IDEA部署Tomcat原理

上一篇文章部署成功后,我們來對比一下IDEA運行服務器與直接運行服務器有什么異同?

  • IDEA運行如下:
  • 手動運行服務器操作如下
    打開命令行窗口cmd,如果你沒有配置環境變量的話,進入到安裝Tomcat目錄下的bin文件夾下,輸入catalina run,界面如下:

    兩者對比,發現只有CATALINA_BASE不同
    那么到底發生了什么呢?CATALINA_BASE與CATALINA_HOME有什么不同呢?
    官方解釋如下:

    額,英語不太好。
    上面的意思簡單來說就是CATALINA_HOME是安裝目錄,CATALINA_BASE是工作目錄。
    這么做的好處就在于可以使用CATALINA_HOME安裝目錄下的資源,在CATALINA_BASE運行目錄下工作,而IDEA就是偷換了其中的CATALINA_BASE工作目錄。
    我們進入IDEA運行的CATALINA_BASE目錄也就是上方箭頭指向的目錄,查看自己IDEA運行時顯示的文件夾,一般生成路徑如下:
    C:\Users{本機名}.IntelliJIdea2018.3\system\tomcat\工程名\conf 你會看到三個文件夾

    你每次建的Web項目都會分配一個tomcat實例,
    這里面conf文件下有著同一份tomcat配置,
    IDEA運行的時候就是用的這里面的配置,
    所以你在Tomcat下面修改的配置就不起作用了,
    而IDEA運行的時候依賴你安裝目錄下的lib和bin文件夾。

舉個例子,你隨便創建一個文件夾,將Tomcat里面的這4個文件夾復制過來

再創建兩個文件runCatalina.bat和stopCatalina.bat
runCatalina.bat內容如下

set "CATALINA_BASE=%cd%" set "CATALINA_HOME=G:\Installation_Package\Tomcat\apache-tomcat-8.5.39\apache-tomcat-8.5.39" set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat" call "%EXECUTABLE%" start

stopCatalina.bat內容如下

set "CATALINA_BASE=%cd%" <!--設置當前路徑為CATALINA_BASE--> set "CATALINA_HOME=G:\Installation_Package\Tomcat\apache-tomcat-8.5.39\apache-tomcat-8.5.39" set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat" call "%EXECUTABLE%" stop

在該conf文件夾下server.xml中修改端口號,修改為8088,(可以不修改)


然后運行runCatalina.bat,會出現Tomcat界面,說明服務器打開成功

而IDEA就是這樣實現的,IDEA更換了CATALINA_BASE的內容。
這樣方式用途在于你需要在一臺機器上面部署多個Tomcat實例,但是你又不想創建多個Tomcat的副本,換句話說就是讓這些Tomcat副本擁有自己 的工作目錄但是共享Tomcat的代碼。
但是此時你肯定還有一個疑問就是,IDEA如何修改CATALINA_BASE的內容的呢?
我在網上查了相關資料,還不是特別確定,有一部分猜測,后期如果明白的話會馬上補充上。

上方箭頭指的是運行啟動與停止的腳本所在位置,
先啟動安裝目錄下的batalina.bat文件,
該文件里面給CATALINA_BASE賦值,部分代碼如下

那么如何將其賦值為C盤下的路徑呢?
我個人理解是Tomcat先查找安裝目錄下文件,確定該文件夾下的文件與IDEA啟動時間不符,所以IDEA沒有修改Tomcat目錄,轉而去C盤下的IDEA工程下尋找該配置文件,找到相關配置文件,然后在此路徑下加載該路徑到CATALINA_BASE的。

如果解釋不正確的,希望大家多多指點。

總結

以上是生活随笔為你收集整理的(三)IDEA部署Tomcat原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。