• springboot打war包


    默认场景下,Springboot作为一个jar运行,但是在某些特殊场景下 需要将后台和其他应用共用一个web容器(tomcat之类);

    客户强制要求(例如策略只给了一个端口);

    其他;

    可以打包成war文件进行发布。

    分步指南
    一般情况下,将springboot工程打包为war分为以下几个步骤:

    修改pom.xml,将打包方式设置为war 修改jar为war

    移除springboot默认的tomcat配置

    移除默认的spring-boot-starter-tomcat,使用provided

     
            org.springframework.boot 
            spring-boot-starter-web 
             
                 
                    org.springframework.boot 
                    spring-boot-starter-tomcat 
                 
             
     
     
            org.springframework.boot 
            spring-boot-starter-tomcat 
            provided 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    添加tomcat-servelt-api依赖

    *注意根据自己的情况修改version

    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
     
          org.apache.tomcat 
          tomcat-servlet-api 
          8.0.36 
          provided 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    修改启动方法

    增加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);
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    添加打包插件

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

     
          org.apache.maven.plugins 
          maven-war-plugin 
           
              src/main/resources/** 
              yehuo
              false
           
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    修改项目的context-path与warName一致 修改application.properties的context-path和port等信息和实际部署的情况改为一致

    server.port=server.context-path=yehuo
    
    • 1

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    Nginx配置文件
    配置nginx动静分离全步骤
    Leetcode641 实现双端队列
    python面向对象———类,继承
    尝试 vue 实现 SEO
    【华为OD机试真题 JS】玩牌高手
    红宝石阅读笔记
    两分钟搞懂什么是反向代理与正向代理
    Dephi逆向工具Dede导出函数名MAP导入到IDA中
    流媒体协议hls和dash
  • 原文地址:https://blog.csdn.net/m0_67401920/article/details/126114707