IDEA使用Tomcat運行web項目教程分享
寫作背景
從Nacos
的GitHub
中下載demo,準備運行nacos-spring-config-example
,由于非spring boot
項目,不內置Tomcat
容器,所以需要自己配一下。
而已經很久沒有手動配置過Tomcat
了,準確的步驟記不清,而且在配置過程中,出現(xiàn)了很多以前沒遇到過的異常情景,網上的博客對這些異常處理也不準確,而且非常少,于是自己記錄一下完整的配置過程,以及異常情景的解決辦法,幫助那些有同樣問題的小伙伴
準備
需要下載Tomcat
,并解壓到自定義路徑一個Web項目,以nacos-spring-config-example
為例,結構大致如下:
說明:筆者使用的IDEA版本為2021.1,不同IDEA之間的窗口或按鈕可能有區(qū)別,請根據(jù)實際情況進行修改
步驟
1. 項目結構配置
1.1 修改Modules信息
該demo導入IDEA
之后,IDEA
是不知道這個項目為Web
項目的,需要我們手動處理
1.1.1 添加為Web
項目
在菜單欄中點擊File
->Project Structure...
,快捷鍵為Ctrl
+ Alt
+ Shift
+ S
或右鍵項目或模塊,點擊Open Module Settings
,快捷鍵為F4
在彈出的窗口中點擊左側Module
頁簽,在中間的項目或模塊列表中右鍵我們的目標模塊,依次選擇Add
-> Web
添加完畢后該模塊下會出現(xiàn)一個Web
文件夾,表示該項目已是Web
項目
1.1.2 修改Web
配置
添加Web
之后窗口右側會變?yōu)?code>Web配置窗口,詳情如下圖
這里我們需要確認web.xml
的路徑以及資源目錄
是否正確
在本案例中資源目錄
不正確,需要手動修改
可以看到應用程序一般默認為web
文件夾,但是我的項目為webapp
文件夾,改為正確的webapp
到這里Module
就配置完畢了
1.2 修改Artifacts
配置
點擊左側Artifacts
頁簽
1.2.1 添加Artifacts
在中間的窗口上方點擊+
,或右鍵中間窗口,點擊Add
之后依次選擇Web Application: Exploded
-> From Modules...
在彈出的窗口中選擇我們的項目或模塊
1.2.2 修改
點擊OK,至此Artifacts
配置完畢
2. Tomcat配置
2.1 添加Tomcat
配置
點擊IDEA右上方執(zhí)行的Add Configuration...
彈出的窗口中點擊+
,出現(xiàn)的選項中往下滑,選擇Tomcat Server
->Local
2.2 添加Artifact
點擊右側Deployement
選項卡
點擊右側+
,選擇Artifact...
這里IDEA直接將剛才創(chuàng)建的nacos-spring-config-example
的artifact
放入窗口中。
但是也有可能有好多個其他的artifact
,這時選擇我們想要的就可以了
IDEA會自動為我們生成項目根路徑,如上圖所示。我們可以按照我們的需求對該路徑進行修改,如我這里不想要根路徑,那么就只保留一個/
2.3 檢查修改項目URL
點擊Server
頁簽,查看URL
處是否與步驟2.2
中設置的同步
IDEA默認會自動同步,如,步驟2.2
改之前這里為
步驟2.2
改之后就變?yōu)?/p>
如果不一致,則需修改為一致
到此Tomcat
就配置完畢了
3. 運行Tomcat
配置之后,點擊IDEA
中的Run
或者Debug
,等待項目運行成功
可能遇到的問題Tomcat
啟動成功,但是項目卻報404
異常
原因可能是Tomcat
配置的Deployement
中的應用根路徑與Server
中的URL
不匹配所致。詳見步驟2.2
以及2.3
。
有可能為手動更改Server
中的URL
,但是IDEA不會去修改Deployement
中的項目根路徑
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring Cloud Gateway 服務網關快速實現(xiàn)解析
這篇文章主要介紹了Spring Cloud Gateway 服務網關快速實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08Java 實戰(zhàn)練手項目之酒店管理系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個酒店管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11springBoot集成Elasticsearch 報錯 Health check failed的解決
這篇文章主要介紹了springBoot集成Elasticsearch 報錯 Health check failed的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08