SpringBoot項目如何打war包問題詳解
1、pom.xml配置修改
<packaging>jar</packaging> //修改為 <packaging>war</packaging>
2、pom文件添加如些依賴
<!--添加servlet-api的依賴,用來打war包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency>
3、排除springboot內(nèi)置的tomcat干擾
<!--最終打成war包,排除內(nèi)置的tomcat--> <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>
4、改造啟動類
如果是war包發(fā)布,需要增加SpringBootServletInitializer子類,并重寫其configure方法,
或者將main函數(shù)所在的類繼承SpringBootServletInitializer,并重寫configure方法
當(dāng)時打包為war時上傳到tomcat服務(wù)器中訪問項目始終報404錯就是忽略了這個步驟?。?!
改造之前:
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
SpringApplication.run(MainApp.class,args);
}
}
改造之后:
@SpringBootApplication
public class SpringBootMytestApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootMytestApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意這里要指向原先用main方法執(zhí)行的Application啟動類
return builder.sources(SpringBootMytestApplication.class);
}
}
這種改造方式也是官方比較推薦的方法
5、pom文件中不要忘了maven編譯插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
打包操作:


war包打包成功。
如果想用idea中的外置tomcat驗證war包是否正常,方法如下:




如果不改成“/” 訪問時路徑前要加上此路徑內(nèi)容,如下圖。


驗證成功
到此這篇關(guān)于SpringBoot項目如何打war包問題詳解的文章就介紹到這了,更多相關(guān)SpringBoot項目打war包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot項目打成War包部署的方法步驟
- SpringBoot中打war包需要注意事項
- SpringBoot打War包上傳到阿里云的LINUX服務(wù)器的操作方法
- eclipse springboot工程打war包方法及再Tomcat中運行的方法
- Springboot項目打war包docker包找不到resource下靜態(tài)資源的解決方案
- springBoot 打war包 程序包com.sun.istack.internal不存在的問題及解決方案
- Springboot打包為Docker鏡像并部署的實現(xiàn)
- SpringBoot打包發(fā)布到linux上(centos 7)的步驟
- SpringBoot使用Maven插件進行項目打包的方法
- 關(guān)于SpringBoot 打包成的可執(zhí)行jar不能被其他項目依賴的問題
相關(guān)文章
MyBatis 多個條件使用Map傳遞參數(shù)進行批量刪除方式
這篇文章主要介紹了MyBatis 多個條件使用Map傳遞參數(shù)進行批量刪除方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼
這篇文章主要介紹了使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼,這里使用mybatis中的typeHandlers?實現(xiàn)的,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-03-03
Java客戶端通過HTTPS連接到Easysearch實現(xiàn)過程
這篇文章主要為大家介紹了Java客戶端通過HTTPS連接到Easysearch實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
使用Java打印數(shù)字組成的魔方陣及字符組成的鉆石圖形
這篇文章主要介紹了使用Java打印數(shù)字組成的魔方陣及字符組成的鉆石圖形,可作為一些CLI程序界面的基礎(chǔ)部分,需要的朋友可以參考下2016-03-03
剖析Spring WebFlux反應(yīng)式編程設(shè)計及工作原理
這篇文章主要為大家介紹了Spring WebFlux反應(yīng)式編程模型工作原理的剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-02-02

