最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot打war包的全過(guò)程記錄

 更新時(shí)間:2022年06月21日 09:04:10   作者:董澤琦  
其實(shí)一般使用springboot使用打成jar包比較省事的,但也有很多童鞋是習(xí)慣使用war包的,下面這篇文章主要給大家介紹了關(guān)于springboot打war包的相關(guān)資料,需要的朋友可以參考下

為什么要把SpringBoot打成war包

正常情況下SpringBoot項(xiàng)目是以jar包的形式,通過(guò)命令行:

java -jar demo.jar

來(lái)運(yùn)行的,并且SpringBoot是內(nèi)嵌Tomcat服務(wù)器,所以每次重新啟動(dòng)都是用的新的Tomcat服務(wù)器。正因如此,也出現(xiàn)了一個(gè)問(wèn)題:
上傳到項(xiàng)目的文件,如果是保存在項(xiàng)目中的,那么重啟過(guò)后文件就會(huì)丟失。比如我們上傳了一個(gè)頭像,重啟項(xiàng)目后,這個(gè)頭像就沒(méi)了。而如果將文件保存在本地磁盤中的話,html中標(biāo)簽沒(méi)辦法獲?。ó?dāng)然,企業(yè)項(xiàng)目中一般是有專門的圖片服務(wù)器的)。因此,我們才需要將SpringBoot項(xiàng)目打成war包,放到Tomcat中去運(yùn)行。

springboot打war包

默認(rèn)場(chǎng)景下,Springboot作為一個(gè)jar運(yùn)行,但是在某些特殊場(chǎng)景下 需要將后臺(tái)和其他應(yīng)用共用一個(gè)web容器(tomcat之類);

客戶強(qiáng)制要求(例如策略只給了一個(gè)端口);

其他;

可以打包成war文件進(jìn)行發(fā)布。

分步指南

一般情況下,將springboot工程打包為war分為以下幾個(gè)步驟:

修改pom.xml,將打包方式設(shè)置為war 修改jar為war

移除springboot默認(rèn)的tomcat配置

移除默認(rèn)的spring-boot-starter-tomcat,使用provided

<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> 
<dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
        <scope>provided</scope> 
</dependency>

添加tomcat-servelt-api依賴

*注意根據(jù)自己的情況修改version

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>
<dependency> 
      <groupId>org.apache.tomcat</groupId> 
      <artifactId>tomcat-servlet-api</artifactId> 
      <version>8.0.36</version> 
      <scope>provided</scope> 
</dependency>

修改啟動(dòng)方法

增加configure配置

@SpringBootApplication
public class ServerApplication extends SpringBootServletInitializer {
   
  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(ServerApplication.class);
  }
 
  public static void main(String[] args) {
    SpringApplication.run(ServerApplication.class, args);
  }
}

添加打包插件

在pom.xml的build > plugins 中添加打包插件,可以指定打包的名稱等配置

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
          <warSourceExcludes>src/main/resources/**</warSourceExcludes> 
          <warName>yehuo</warName>
          <failOnMissingWebXml>false</failOnMissingWebXml>
      </configuration> 
</plugin>

修改項(xiàng)目的context-path與warName一致 修改application.properties的context-path和port等信息和實(shí)際部署的情況改為一致

server.port=server.context-path=yehuo

總結(jié)

到此這篇關(guān)于springboot打war包的文章就介紹到這了,更多相關(guān)springboot打war包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)戰(zhàn)寵物店在線交易平臺(tái)的實(shí)現(xiàn)流程

    Java實(shí)戰(zhàn)寵物店在線交易平臺(tái)的實(shí)現(xiàn)流程

    讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+maven+Mysql+FreeMarker實(shí)現(xiàn)一個(gè)寵物在線交易系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • Java Validation Api如何實(shí)現(xiàn)自定義注解

    Java Validation Api如何實(shí)現(xiàn)自定義注解

    這篇文章主要介紹了Java Validation Api如何實(shí)現(xiàn)自定義注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java多線程4種拒絕策略小結(jié)

    Java多線程4種拒絕策略小結(jié)

    當(dāng)線程池中的任務(wù)隊(duì)列已滿且無(wú)法再接受新的任務(wù)時(shí),就需要采取拒絕策略來(lái)處理這種情況,本文主要介紹了Java多線程拒絕策略,包含了四種常見(jiàn)的拒絕策略,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Java跨模塊調(diào)用方式

    Java跨模塊調(diào)用方式

    這篇文章主要介紹了Java跨模塊調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    我們經(jīng)常會(huì)遇到一下問(wèn)題:Spring對(duì)靜態(tài)變量的注入為空、在構(gòu)造函數(shù)中使用Spring容器中的Bean對(duì)象,得到的結(jié)果為空。不要擔(dān)心,本文將為大家介紹如何解決這些問(wèn)題,跟隨小編來(lái)看看吧
    2021-11-11
  • Java如何操作MongoDB常用API文檔

    Java如何操作MongoDB常用API文檔

    這篇文章主要介紹了Java如何操作MongoDB常用API文檔,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringBoot Jpa 自定義查詢實(shí)現(xiàn)代碼詳解

    SpringBoot Jpa 自定義查詢實(shí)現(xiàn)代碼詳解

    這篇文章主要介紹了SpringBoot Jpa 自定義查詢實(shí)現(xiàn)代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • java 判斷l(xiāng)ist是否為空過(guò)程解析

    java 判斷l(xiāng)ist是否為空過(guò)程解析

    這篇文章主要介紹了java 判斷l(xiāng)ist是否為空過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 一篇文章帶你理解Java的SPI機(jī)制(圖文并茂)

    一篇文章帶你理解Java的SPI機(jī)制(圖文并茂)

    本文詳細(xì)介紹了Java的SPI機(jī)制,包括其定義、用途和實(shí)現(xiàn)方式,SPI(ServiceProviderInterface)是一種服務(wù)發(fā)現(xiàn)機(jī)制,用于實(shí)現(xiàn)框架或庫(kù)的擴(kuò)展點(diǎn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • Spring Boot 3.4.0 結(jié)合 Mybatis-plus 實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源的完整方案

    Spring Boot 3.4.0 結(jié)合 Mybatis-plus 實(shí)

    本文詳細(xì)介紹了在 Spring Boot 3.4.0 項(xiàng)目中結(jié)合 Mybatis-plus 實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的完整方案,通過(guò)自定義注解和AOP切面,我們可以優(yōu)雅地實(shí)現(xiàn)方法級(jí)別的數(shù)據(jù)源切換,滿足多數(shù)據(jù)源場(chǎng)景下的各種需求,感興趣的朋友一起看看吧
    2025-04-04

最新評(píng)論

合肥市| 松滋市| 河东区| 墨竹工卡县| 丰台区| 循化| 太和县| 盐亭县| 林甸县| 棋牌| 红原县| 遂宁市| 福贡县| 普兰店市| 佛坪县| 农安县| 固始县| 甘德县| 喜德县| 乌兰县| 石阡县| 湘潭县| 绵阳市| 宁安市| 丰原市| 屏边| 友谊县| 盐城市| 宜兴市| 南投县| 顺昌县| 临江市| 阆中市| 鄂尔多斯市| 盐津县| 泸州市| 田东县| 上栗县| 贺兰县| 彭阳县| 靖州|