SpringBoot項(xiàng)目如何打war包問(wèn)題詳解
1、pom.xml配置修改
<packaging>jar</packaging> //修改為 <packaging>war</packaging>
2、pom文件添加如些依賴(lài)
<!--添加servlet-api的依賴(lài),用來(lái)打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、改造啟動(dòng)類(lèi)
如果是war包發(fā)布,需要增加SpringBootServletInitializer子類(lèi),并重寫(xiě)其configure方法,
或者將main函數(shù)所在的類(lèi)繼承SpringBootServletInitializer,并重寫(xiě)configure方法
當(dāng)時(shí)打包為war時(shí)上傳到tomcat服務(wù)器中訪(fǎng)問(wèn)項(xiàng)目始終報(bào)404錯(cuò)就是忽略了這個(gè)步驟?。?!
改造之前:
@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啟動(dòng)類(lèi) 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驗(yàn)證war包是否正常,方法如下:
如果不改成“/” 訪(fǎng)問(wèn)時(shí)路徑前要加上此路徑內(nèi)容,如下圖。
驗(yàn)證成功
到此這篇關(guān)于SpringBoot項(xiàng)目如何打war包問(wèn)題詳解的文章就介紹到這了,更多相關(guān)SpringBoot項(xiàng)目打war包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot項(xiàng)目打成War包部署的方法步驟
- SpringBoot中打war包需要注意事項(xiàng)
- SpringBoot打War包上傳到阿里云的LINUX服務(wù)器的操作方法
- eclipse springboot工程打war包方法及再Tomcat中運(yùn)行的方法
- Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案
- springBoot 打war包 程序包c(diǎn)om.sun.istack.internal不存在的問(wèn)題及解決方案
- Springboot打包為Docker鏡像并部署的實(shí)現(xiàn)
- SpringBoot打包發(fā)布到linux上(centos 7)的步驟
- SpringBoot使用Maven插件進(jìn)行項(xiàng)目打包的方法
- 關(guān)于SpringBoot 打包成的可執(zhí)行jar不能被其他項(xiàng)目依賴(lài)的問(wèn)題
相關(guān)文章
SpringBoot在啟動(dòng)類(lèi)main方法中調(diào)用service層方法報(bào)“空指針異常“的解決辦法
這篇文章主要介紹了SpringBoot在啟動(dòng)類(lèi)main方法中調(diào)用service層方法報(bào)“空指針異?!暗慕鉀Q辦法,大多數(shù)情況下,我們使用Springboot是創(chuàng)建一個(gè)maven項(xiàng)目,然后通過(guò)controller層的接口調(diào)用,但也有特殊情況,文章介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06Java構(gòu)造代碼塊,靜態(tài)代碼塊原理與用法實(shí)例分析
這篇文章主要介紹了Java構(gòu)造代碼塊,靜態(tài)代碼塊,結(jié)合實(shí)例形式分析了Java構(gòu)造代碼塊,靜態(tài)代碼塊的功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04Mybatis-Plus實(shí)現(xiàn)多主鍵批量保存及更新詳情
這篇文章主要介紹了Mybatis-Plus實(shí)現(xiàn)多主鍵批量保存及更新詳情,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09java環(huán)境中的JDK、JVM、JRE詳細(xì)介紹
這篇文章主要介紹了java環(huán)境中的JDK、JVM、JRE詳細(xì)介紹的相關(guān)資料,對(duì)于初學(xué)者還是有必要了解下,細(xì)致說(shuō)明他們是什么,需要的朋友可以參考下2016-11-11使用Hibernate根據(jù)實(shí)體類(lèi)自動(dòng)生成表的方法
這篇文章主要介紹了使用Hibernate根據(jù)實(shí)體類(lèi)自動(dòng)生成表的方法,該篇提供了兩種方法,可以根據(jù)需要選擇其一,希望對(duì)你有所幫助,如有不對(duì)的地方還望指正2023-03-03