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

springboot war包部署過程詳解

 更新時(shí)間:2023年08月17日 09:02:03   作者:outwar  
這篇文章主要為大家介紹了springboot war包部署過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

應(yīng)用在共有云上的時(shí)候是打成fatjar, 通過內(nèi)嵌tomcat啟動(dòng)的. 在私有云上需要部署在一個(gè)進(jìn)程中, 通過打成war包托管給tomcat啟動(dòng).

1. 代碼

首先, Application啟動(dòng)類需要繼承SpringBootServletInitializer并重寫configure方法, sources的入?yún)锳pplication.class.

2. pom

<packaging>${project.packaging}</packaging>
<profiles>
  <profile>
    <id>jar</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <project.packaging>jar</project.packaging>
    </properties>
  </profile>
  <profile>
    <id>war</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
      </plugins>
    </build>
    <properties>
      <project.packaging>war</project.packaging>
    </properties>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
          <exclusion>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <groupId>org.springframework.boot</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
      </dependency>
    </dependencies>
  </profile>
</profiles>

在pom文件中通過profile控制打包行為, -Pwar時(shí)打成war包.

3. tomcat

tomcat10由于servlet被捐獻(xiàn)后包名改成了jakarta, 需要升版本和修改依賴, 改動(dòng)有點(diǎn)大, 因此選擇tomcat9, 或者tomcat8.

4. context

注意war包名字修改為了ROOT, 默認(rèn)情況下, 如果不是ROOT, 那么url會(huì)帶上該名字作為context進(jìn)行路由, 例如原本的地址為http://127.0.0.1:8080/test, 會(huì)變成http://127.0.0.1:8080/app/test. 

如果帶上context, 一些靜態(tài)資源由于是絕對(duì)路徑會(huì)找不到, 一些filter路徑匹配也需要修改, 改動(dòng)較大, 因此去除context規(guī)避這些問題.

tomcat也支持通過修改conf/server.xml來(lái)去除context, 這里簡(jiǎn)單起見采用了重命名為ROOT的方式.

如果應(yīng)用沒有提供http服務(wù), 或者使用的是相對(duì)路徑, 配置上也通過*進(jìn)行路徑匹配, 那么就不需要重命名.

5. 多端口

但一個(gè)端口內(nèi)只有一個(gè)應(yīng)用可以不帶context, 如果多個(gè)應(yīng)用都需要不帶context, 那么就需要通過端口進(jìn)行路由.

修改tomcat的conf/server.xml, 每個(gè)端口對(duì)應(yīng)都添加一段如下配置, 注意name和appBase需不同, 這個(gè)配置port為8081

<Service name="Catalina1">
    <Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
    <Engine defaultHost="localhost" name="Catalina1">
        <Host appBase="webapps1" autoDeploy="true" name="localhost" unpackWARs="true"/>
    </Engine>
</Service>

6. tomcat啟停

./bin/startup.sh
./bin/shutdown.sh

7. 其他

因?yàn)槲覀兊捻?xiàng)目都自定義了日志打印, 所以可以去掉tomcat的日志打印, 修改/bin/catalina.sh, 把CATALINA_OUT指向/dev/null.

同樣修改/bin/catalina.sh, 往JAVA_OPTS中添加skywalking所需要的agent等命令, 但是由于多個(gè)項(xiàng)目被集成在一個(gè)進(jìn)程中, 只能有一個(gè)名字. 遠(yuǎn)程debug同理.

JAVA_OPTS="$JAVA_OPTS -javaagent:/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=app -Dskywalking.collector.backend_service=1127.0.0.1:11800"

以上就是springboot war包部署過程詳解的詳細(xì)內(nèi)容,更多關(guān)于springboot war包部署的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java集合List快速實(shí)現(xiàn)重復(fù)判斷的方法小結(jié)

    java集合List快速實(shí)現(xiàn)重復(fù)判斷的方法小結(jié)

    在java編寫代碼中經(jīng)常會(huì)遇到某些重復(fù)判定或者去重的操作,本文主要為大家介紹了幾個(gè)常用方法,感興趣的小伙伴可以跟隨不想一起學(xué)習(xí)一下
    2024-12-12
  • Spring Boot 與 Kotlin 使用JdbcTemplate連接MySQL數(shù)據(jù)庫(kù)的方法

    Spring Boot 與 Kotlin 使用JdbcTemplate連接MySQL數(shù)據(jù)庫(kù)的方法

    本文介紹在Spring Boot基礎(chǔ)下配置數(shù)據(jù)源和通過 JdbcTemplate 編寫數(shù)據(jù)訪問的示例。感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-01-01
  • 詳解Spring3.x 升級(jí)至 Spring4.x的方法

    詳解Spring3.x 升級(jí)至 Spring4.x的方法

    本篇文章主要介紹了詳解Spring3.x 升級(jí)至 Spring4.x的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-04-04
  • JAVA自定義注解實(shí)現(xiàn)接口/ip限流的示例代碼

    JAVA自定義注解實(shí)現(xiàn)接口/ip限流的示例代碼

    本文主要介紹了JAVA自定義注解實(shí)現(xiàn)接口/ip限流的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • springboot 錯(cuò)誤處理小結(jié)

    springboot 錯(cuò)誤處理小結(jié)

    在 java web開發(fā)過程中,難免會(huì)有一些系統(tǒng)異?;蛉藶楫a(chǎn)生一些異常。在 RESTful springboot 項(xiàng)目中如何優(yōu)雅的處理?下面腳本之家小編給大家?guī)?lái)了springboot 錯(cuò)誤處理小結(jié),感興趣的朋友一起看看吧
    2018-03-03
  • Spring 異步執(zhí)行器(Executor)配置策略與命名實(shí)踐

    Spring 異步執(zhí)行器(Executor)配置策略與命名實(shí)踐

    這篇文章主要介紹了Spring 異步執(zhí)行器(Executor)配置策略與命名實(shí)踐,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2026-02-02
  • Java之SSM中bean相關(guān)知識(shí)匯總案例講解

    Java之SSM中bean相關(guān)知識(shí)匯總案例講解

    這篇文章主要介紹了Java之SSM中bean相關(guān)知識(shí)匯總案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • IDEA項(xiàng)目打包的幾種方式總結(jié)

    IDEA項(xiàng)目打包的幾種方式總結(jié)

    這篇文章主要介紹了IDEA項(xiàng)目打包的幾種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java之多個(gè)線程順序循環(huán)執(zhí)行的幾種實(shí)現(xiàn)

    Java之多個(gè)線程順序循環(huán)執(zhí)行的幾種實(shí)現(xiàn)

    這篇文章主要介紹了Java之多個(gè)線程順序循環(huán)執(zhí)行的幾種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 如何獲取springboot打成jar后的classpath

    如何獲取springboot打成jar后的classpath

    這篇文章主要介紹了如何獲取springboot打成jar后的classpath問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

汉中市| 海伦市| 光山县| 天镇县| 社旗县| 临泉县| 聂拉木县| 基隆市| 七台河市| 韶山市| 兴文县| 名山县| 九江市| 易门县| 晋城| 二连浩特市| 家居| 罗田县| 苗栗市| 洱源县| 西藏| 泗水县| 南昌县| 禹州市| 南郑县| 永吉县| 新宁县| 莒南县| 东阳市| 崇明县| 常山县| 余江县| 滕州市| 桐城市| 东兴市| 岐山县| 南郑县| 巫溪县| 天峻县| 邵武市| 奈曼旗|