idea將web項(xiàng)目打包成war最重要的是配置atrificats。
首先打開(kāi)file -》 project structure

創(chuàng)建之后,output directory即為輸出war包的路徑。Name可以隨意,之后點(diǎn)擊綠色+,打開(kāi)directory content

選擇webapp目錄,記得勾選include in project build


點(diǎn)擊ok后,新建一個(gè)配置

選擇artificats


這樣就算配置完成,點(diǎn)擊run執(zhí)行之后,就到前面的output directory設(shè)置的文件夾里找到war包就行了。war包放到tomcat的webapp目錄下,再啟動(dòng)tomcat就能訪問(wèn)項(xiàng)目了。
項(xiàng)目的訪問(wèn)地址是localhost:8080/你的war包名稱(chēng)/index
在這里想說(shuō)一下的是由于war包的名稱(chēng)決定了訪問(wèn)地址,所以當(dāng)采用純html+css+js寫(xiě)頁(yè)面時(shí),在頁(yè)面的資源引用地址最好加上你的項(xiàng)目名稱(chēng)(即你的最終war包命名),例如引用js文件:
<link rel="stylesheet" href="/layui/css/layui.css" media="all" />

此時(shí)idea按住ctrl鍵加鼠標(biāo)停留在文件路徑上,會(huì)有可點(diǎn)擊的提示。
但是在項(xiàng)目部署到tomcat上時(shí),war包相當(dāng)于增加了一個(gè)文件夾,文件夾名為你的war包名稱(chēng),這時(shí)按原來(lái)的引用是會(huì)提示找不到這個(gè)文件的,這時(shí)候,我們應(yīng)該這么引用:
<link rel="stylesheet" href="/war包名稱(chēng)/layui/css/layui.css" media="all" />
當(dāng)你的引用地址含有..時(shí),比如:
<script type="text/javascript" src="../../page/user/editUser.js"></script>
應(yīng)該這樣修改:
<script type="text/javascript" src="../../war包名稱(chēng)/backstage/page/user/editUser.js"></script>
但是問(wèn)題來(lái)了,這樣配置的時(shí)候,部署到tomcat上能找到文件,但是本地idea開(kāi)發(fā)啟動(dòng)tomcat調(diào)試之后,會(huì)找不到文件。這時(shí)候應(yīng)該配置application context,啟動(dòng)之后就可以了。并且做到與部署到tomcat時(shí)的文件路徑一致,不用在部署到tomcat上時(shí),還要再修改前端頁(yè)面的地址。(jsp可以不用考慮這個(gè)問(wèn)題,因?yàn)閖sp能獲取根路徑)。

如果application context只是“/”的話,那么就相當(dāng)于所有的文件放在tomcat的webapp下面,直接通過(guò)localhost:8080/文件就能訪問(wèn)。
到此這篇關(guān)于idea打包成war包部署到tomcat及訪問(wèn)路徑問(wèn)題(圖文詳解)的文章就介紹到這了,更多相關(guān)idea war包部署tomcat內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!