springboot打war包部署到外置tomcat容器的方法
打war包部署到外置tomcat容器
一、修改打包方式
<packaging>war</packaging>
將上面的代碼加入到pom.xml文件剛開(kāi)始的位置,如下:

二、 排除內(nèi)置tomcat的依賴(lài)
我們使用外置的tomcat,自然要將內(nèi)置的嵌入式tomcat的相關(guān)jar排除。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>三、新增加一個(gè)類(lèi)繼承SpringBootServletInitializer實(shí)現(xiàn)configure:
為什么繼承該類(lèi),SpringBootServletInitializer源碼注釋?zhuān)?br />Note that a WebApplicationInitializer is only needed if you are building a war file and deploying it.
If you prefer to run an embedded web server then you won’t need this at all.
注意,如果您正在構(gòu)建WAR文件并部署它,則需要WebApplicationInitializer。如果你喜歡運(yùn)行一個(gè)嵌入式Web服務(wù)器,那么你根本不需要這個(gè)。
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//此處的Application.class為帶有@SpringBootApplication注解的啟動(dòng)類(lèi)
return builder.sources(BootLaunchApplication.class);
}
}
注意事項(xiàng):
使用外部Tomcat部署訪問(wèn)的時(shí)候,application.properties(或者application.yml)中的如下配置將失效,請(qǐng)使用外置的tomcat的端口,tomcat的webapps下項(xiàng)目名進(jìn)行訪問(wèn)。
server.port= server.servlet.context-path=
四、build要有finalName標(biāo)簽
pom.xml中的構(gòu)建build代碼段,要有應(yīng)用最終構(gòu)建打包的名稱(chēng)。
<finalName>boot-launch</finalName>
五、打包與運(yùn)行
war方式打包,打包結(jié)果將存儲(chǔ)在項(xiàng)目的target目錄下面。
mvn clean package -Dmaven.test.skip=true
然后將war包c(diǎn)opy到外置Tomcat webapps目錄里面。在外置tomcat中運(yùn)行:${Tomcat_home}/bin/目錄下執(zhí)行startup.bat(windows)或者startup.sh(linux),然后通過(guò)瀏覽器訪問(wèn)應(yīng)用,測(cè)試效果。
需要注意的是
- 在boot-launch.war在tomcat webapps目錄里面解壓到boot-launch文件夾。所以當(dāng)你訪問(wèn)應(yīng)用的時(shí)候,必須使用
http://localhost:8888/boot-launch/template/jsp,不能是:http://localhost:8888/template/jsp。會(huì)報(bào)404錯(cuò)誤。 - jsp靜態(tài)資源引用也必須是:/boot-launch/image/xxxx.png,不能是/image/xxxx.png
- JSP的war包中,webjars的資源使用方式不再被支持
到此這篇關(guān)于springboot打war包部署到外置tomcat容器的文章就介紹到這了,更多相關(guān)springboot]打war包部署tomcat容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合JDBC的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot整合JDBC的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
springboot項(xiàng)目main函數(shù)啟動(dòng)的操作
這篇文章主要介紹了springboot項(xiàng)目main函數(shù)啟動(dòng)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式
為了批量處理大量圖片的旋轉(zhuǎn),可以使用javacv-ffmpeg結(jié)合ProcessBuilder,首先在maven配置文件中添加ffmpeg及javacpp依賴(lài),javacpp支持調(diào)用C/C++方法,而ffmpeg基于C語(yǔ)言,使用ProcessBuilder創(chuàng)建進(jìn)程調(diào)用ffmpeg方法2024-09-09
Mybatis-Plus時(shí)間范圍查詢(xún)方式詳解
這篇文章主要介紹了Mybatis-Plus時(shí)間范圍查詢(xún)方式詳解,通過(guò)兩種方式結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
springsecurity基于token的認(rèn)證方式
本文主要介紹了springsecurity基于token的認(rèn)證方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
java 多線程實(shí)現(xiàn)在線咨詢(xún)(udp)
這篇文章主要介紹了java 多線程實(shí)現(xiàn)在線咨詢(xún)(udp)的示例,幫助大家更好的理解和學(xué)習(xí)Java 網(wǎng)絡(luò)編程的相關(guān)內(nèi)容,感興趣的朋友可以了解下2020-11-11

