zoukankan      html  css  js  c++  java
  • springboot项目打war包流程

    目前,前后端分离的架构已成主流,因此使用springboot构建应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包,然后通过命令 : java -jar jar包名称即可启动服务了;

    但在有些场景下,比如部署到外部的服务器的时候,客户方指定要以tomcat的形式启动服务的时候,即需要由服务提供方提供一个war包的时候,该怎么办呢?

    一开始没有查找资料,自己差点准备使用传统的ssm框架改造服务的,后来思考和参考相关资料后,发现只需要挤出简单的配置和改造就可以做到,下面是记载将springboot项目改造打包成war的流程,算是一个简单的参考:

    1、修改pom.xml文件将默认的jar方式改为war:
    <groupId>com.example</groupId>
    <artifactId>application</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!--默认为jar方式-->
    <!--<packaging>jar</packaging>-->
    <!--改为war方式-->
    <packaging>war</packaging>
    
    2、排除springboot内置的tomcat干扰
    <!--最终打成war包,排除内置的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>
    
    3、改造启动类

    继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer,实现configure方法:

    以前的:

    @SpringBootApplication
    public class MainApp {
     
        public static void main(String[] args) {
            SpringApplication.run(MainApp.class,args);
        }
    }
    

    现在的:

    @SpringBootApplication
    public class MainApp extends SpringBootServletInitializer {
     
        public static void main(String[] args) {
            SpringApplication.run(MainApp.class,args);
        }
     
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(MainApp.class);
        }
    }
    
    4、pom文件中不要忘了maven编译插件
    <build>
        <plugins>
               <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
               </plugin>
           </plugins>
    </build>
    
    5、如果在idea的环境下,依次执行窗口里的 clean ,install即可,

    执行完毕后,可以看到war包已经生成了,默认是在target目录下,位置可以在pom文件中进行配置,

    即可!!

  • 相关阅读:
    bzoj3524: [Poi2014]Couriers(主席树)
    51nod 1275 连续子段的差异(twopointer+单调队列)
    51nod 1274 最长递增路径(DP)
    51nod 1273 旅行计划(思维题)
    51nod 1257 背包问题 V3(分数规划)
    CSS 几款比较常用的翻转特效
    css文字飞入效果
    jQuery使用方法
    数据库
    关系型数据库基本概念及MySQL简述
  • 原文地址:https://www.cnblogs.com/npeng/p/13294329.html
Copyright © 2011-2022 走看看