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