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

二、 排除內(nèi)置tomcat的依賴
我們使用外置的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>三、新增加一個類繼承SpringBootServletInitializer實現(xiàn)configure:
為什么繼承該類,SpringBootServletInitializer源碼注釋:
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。如果你喜歡運行一個嵌入式Web服務(wù)器,那么你根本不需要這個。
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//此處的Application.class為帶有@SpringBootApplication注解的啟動類
return builder.sources(BootLaunchApplication.class);
}
}
注意事項:
使用外部Tomcat部署訪問的時候,application.properties(或者application.yml)中的如下配置將失效,請使用外置的tomcat的端口,tomcat的webapps下項目名進行訪問。
server.port= server.servlet.context-path=
四、build要有finalName標(biāo)簽
pom.xml中的構(gòu)建build代碼段,要有應(yīng)用最終構(gòu)建打包的名稱。
<finalName>boot-launch</finalName>
五、打包與運行
war方式打包,打包結(jié)果將存儲在項目的target目錄下面。
mvn clean package -Dmaven.test.skip=true
然后將war包copy到外置Tomcat webapps目錄里面。在外置tomcat中運行:${Tomcat_home}/bin/目錄下執(zhí)行startup.bat(windows)或者startup.sh(linux),然后通過瀏覽器訪問應(yīng)用,測試效果。
需要注意的是
- 在boot-launch.war在tomcat webapps目錄里面解壓到boot-launch文件夾。所以當(dāng)你訪問應(yīng)用的時候,必須使用
http://localhost:8888/boot-launch/template/jsp,不能是:http://localhost:8888/template/jsp。會報404錯誤。 - 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式
為了批量處理大量圖片的旋轉(zhuǎn),可以使用javacv-ffmpeg結(jié)合ProcessBuilder,首先在maven配置文件中添加ffmpeg及javacpp依賴,javacpp支持調(diào)用C/C++方法,而ffmpeg基于C語言,使用ProcessBuilder創(chuàng)建進程調(diào)用ffmpeg方法2024-09-09

