Tomcat部署SpringBoot項目的war包的方法及詳細(xì)步驟
Tomcat部署SpringBoot項目的war包的方法
一、環(huán)境
1.新建系統(tǒng)變量名: CATALINA_HOME,變量值:D:\Development\apache-tomcat-8.5.20 ; (CATALINA_HOME中的變量值為你tomcat的安裝路徑,不包括\bin)2.在系統(tǒng)變量Path中添加:%CATALINA_HOME%\bin。(;分號結(jié)尾,第一個%前面若沒有分號,分號是英文狀態(tài)下輸入的)
配置完成,在dos下輸入命令“startup”將會看到如下成功界面

二、SpringBoot打war包配置
pom.xml配置
springboot web啟動器包含內(nèi)置tomcat,改用外部 tomcat去除剔除springboot的tomcat
(1) 依賴(雖然已經(jīng)添加依賴打包是剔除springboot的tomcat)
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 添加servlet-api依賴 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>(2)SpringBoot啟動類,必須繼承一個SpringBootServletInitializer,然后重寫configure方法,目的是為當(dāng)前這個SpringBoot啟動類構(gòu)建新資源。我這里項目創(chuàng)建的時候生成了一個ServletInitializer,所以直接繼承ServletInitializer即可。如果你的項目沒有ServletInitializer這個類,則手動繼承。

public class ServletInitializer extends SpringBootServletInitializer {
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(SpringbootWarProjectApplication.class);
	}
}1.利用 maven 打包成 war:mvn clean install —>> xx.war
2.圖形操作按鈕打包。

3.打包位置:啟動后生成的war包(target包下),復(fù)制到tomcat目錄下,記得設(shè)置tomcat的訪問端口號。
三、Tomcat啟動war包
機器下載的tomcat 8.5xx 壓縮包,解壓安裝。(1) 編輯 tomcat 配置文件設(shè)置 訪問端口為 項目配置文件中配置的端口號(保持訪問端口不變)(2) 將打包好的 war 包復(fù)制到 tomcat/webapps 目錄下(3) 啟動 tomcat:bin/startup.xx(4) 啟動成功,訪問接口–>> 404可能存在的問題: 項目在intellij idea里配置tomcat可以啟動訪問, 打成war包丟到tomcat webapps下能啟動卻訪問不了相關(guān)的接口, 這個問題是因為idea會默認(rèn)將項目以ROOT為目錄的文件,而丟到tomcat的webapps下面則是解壓成你項目名稱為目錄的文件,和ROOT是同級的可以有以下幾種解決方案一:將war包放在Tomcat的ROOT包下(或者將你的war名稱改成作為ROOT.war)

二:在tomcat的server.xml文件的Host標(biāo)簽內(nèi)配置
//<Context path="/" docBase="你項目的地址" reloadable="true"/> <Context path="/car" docBase="C:\Users\Admin\Desktop\apache-tomcat-8.5.54\webapps\ROOT\JavaWebTest.war" reloadable="true"></Context>

三、設(shè)置Tomcat默認(rèn)訪問路徑
tomcat默認(rèn)訪問路徑為 http://localhost:8080/項目名/頁面等路徑,有些客戶要求只輸入IP,自動進入項目登錄頁面,設(shè)置如下:修改tomcat/conf/server.xml在標(biāo)簽中加入:
<Context path="" docBase="E:\tomcat\webapps\項目文件夾名稱" debug="0" reloadable="true" />
path:war包解壓后的項目名稱,也就是訪問路徑(例:http://localhost:8080/car/)docBase:war包的路徑(需要把war包的后綴名加上,如上圖所示,避免報錯)reloadable:自動加載保存上述修改后,雙擊\bin\startup.bat啟動Tomcat即可三:前端訪問不到后端接口問題用tomcat發(fā)布時,將前端請求的路徑加上你的項目名稱正常啟動后,地址欄輸入localhost:8080會進入tomcat路徑,ROOTweb.xml指定的index頁面。所以要在地址欄輸入localhost:8080/war包名稱/ 就會進入tomcat路徑中自己的文件夾。(該文件夾就是自己war被解析后生成的)
2.啟動中文亂碼問題:啟動Tomcat后,產(chǎn)生的日志有亂碼的情況出現(xiàn),不要慌,這并不影響你項目的正常運行。這是由于編碼不一致引起的,Tomcat啟動后默認(rèn)編碼UTF-8,而Windows的默認(rèn)編碼是GBK。因此你想讓其不亂碼,只需配置conf\logging.properties的編碼格式即可



修改保存后,重新啟動Tomcat,你會發(fā)現(xiàn)產(chǎn)生的日志是我們所能看懂的了
3.啟動成功的頁面

到此這篇關(guān)于Tomcat部署SpringBoot項目的war包的方法的文章就介紹到這了,更多相關(guān)Tomcat部署SpringBoot項目的war包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
 解決Tomcat 中catalina.out持續(xù)累加問題
這篇文章主要介紹了解決Tomcat 中catalina.out持續(xù)累加問題 ,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-03-03
 CentOS設(shè)置IP連接網(wǎng)絡(luò)實現(xiàn)過程圖解
這篇文章主要介紹了CentOS設(shè)置IP連接網(wǎng)絡(luò)實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
 Tomcat配置JMX遠(yuǎn)程連接的詳細(xì)操作
這篇文章主要介紹了Tomcat配置JMX遠(yuǎn)程連接,包括配置tomcat,使用visualvm連接,使用jconsole連接,本文圖文示例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
 Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法
這篇文章主要介紹了Idea中tomcat啟動源碼調(diào)試進入到tomcat內(nèi)部進行調(diào)試的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
 Centos環(huán)境下Tomcat虛擬主機配置詳細(xì)教程
這篇文章主要講的是在 CentOS 系統(tǒng)上,如何一步步配置 Tomcat 的虛擬主機,內(nèi)容很簡單,從目錄準(zhǔn)備到配置文件修改,再到重啟和測試,手把手帶你搞定,需要的朋友可以參考下2025-03-03

