欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)了。而如果將文件保存在本地磁盤(pán)中的話(huà),html中標(biāo)簽沒(méi)辦法獲取(當(dāng)然,企業(yè)項(xiàng)目中一般是有專(zhuān)門(mén)的圖片服務(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之類(lèi));

客戶(hù)強(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依賴(lài)

*注意根據(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 中添加打包插件,可以指定打包的名稱(chēng)等配置

<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中動(dòng)態(tài)代理的實(shí)現(xiàn)

    java中動(dòng)態(tài)代理的實(shí)現(xiàn)

    本篇文章主要介紹了Java中兩種動(dòng)態(tài)代理的實(shí)現(xiàn):jdk動(dòng)態(tài)代理;cglib動(dòng)態(tài)代理。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種最新方案

    Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種最新方案

    SpringBoot自帶Tomcat,直接運(yùn)行main方法里面的SpringApplication.run即可,并且訪問(wèn)時(shí)不需要帶項(xiàng)目名,這篇文章主要介紹了Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種方案,需要的朋友可以參考下
    2023-02-02
  • Java中常見(jiàn)的對(duì)象轉(zhuǎn)換工具

    Java中常見(jiàn)的對(duì)象轉(zhuǎn)換工具

    對(duì)象進(jìn)行對(duì)象的轉(zhuǎn)換是一個(gè)操作重復(fù)且繁瑣的工作,于是市面上就有許多的對(duì)象轉(zhuǎn)換工具來(lái)解決這個(gè)問(wèn)題,下面我們就來(lái)看看幾個(gè)比較常用的工具(mapstruct,Spring BeanUtils,Apache BeanUtils)使用方式及其性能
    2023-04-04
  • java開(kāi)發(fā)Dubbo注解Adaptive實(shí)現(xiàn)原理

    java開(kāi)發(fā)Dubbo注解Adaptive實(shí)現(xiàn)原理

    這篇文章主要為大家介紹了java開(kāi)發(fā)Dubbo注解Adaptive實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java工具類(lèi)DateUtils實(shí)例詳解

    Java工具類(lèi)DateUtils實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Java工具類(lèi)DateUtils實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • spring實(shí)現(xiàn)動(dòng)態(tài)切換、添加數(shù)據(jù)源及源碼分析

    spring實(shí)現(xiàn)動(dòng)態(tài)切換、添加數(shù)據(jù)源及源碼分析

    這篇文章主要給大家介紹了關(guān)于spring實(shí)現(xiàn)動(dòng)態(tài)切換、添加數(shù)據(jù)源及源碼分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解

    intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解

    這篇文章主要介紹了intellij idea旗艦版解決學(xué)生無(wú)法注冊(cè)問(wèn)題詳解,文中通過(guò)圖文示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java集合包中的fail fast機(jī)制詳解

    Java集合包中的fail fast機(jī)制詳解

    這篇文章主要介紹了Java集合包中的fail fast機(jī)制詳解,當(dāng)我們使用iterator迭代器遍歷一個(gè)集合的過(guò)程中,如果其它線程,或者它自己向這個(gè)集合新增或刪除了一個(gè)key-value,那么當(dāng)前線程就會(huì)拋出ConcurrentModificationException異常,需要的朋友可以參考下
    2023-12-12
  • java文件下載設(shè)置中文名稱(chēng)的實(shí)例(response.addHeader)

    java文件下載設(shè)置中文名稱(chēng)的實(shí)例(response.addHeader)

    下面小編就為大家分享一篇java文件下載設(shè)置中文名稱(chēng)的實(shí)例(response.addHeader),具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2017-12-12
  • jvm字符串常量池在什么內(nèi)存區(qū)域問(wèn)題解析

    jvm字符串常量池在什么內(nèi)存區(qū)域問(wèn)題解析

    這篇文章主要介紹了jvm字符串常量池在什么內(nèi)存區(qū)域的問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論