美文网首页
springboot打包war包发布流程

springboot打包war包发布流程

作者: ccodle | 来源:发表于2021-04-07 15:31 被阅读0次

记录一下自己学习springboot项目进行打包时的步骤以及遇到的一些小问题

  • 对于springboot的打包过程可以分为以及几个步骤(基于多模块项目进行打包)
  1. 修改pom文件中的默认打包方式,注意不是修改 root 中的pom文件,而是对外的接口层(api/controller)中的pom文件的打包方式,修改为 war 方式
# 默认为pom
<package>war</package>

2.去除springboot中自带的tomcat容器,然后添加servlet-api依赖

<!--发布时默认的tomcat需要去除掉 我们需要指明 servlet将由运行时环境提供-->
<exclusions>
  <exclusion>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <groupId>org.springframework.boot</groupId>
   </exclusion>
</exclusions>
<!--        引入servlet的api并且说明会有运行的容器提供-->
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <scope>provided</scope>
</dependency>

3.创建一个启动类,让tomcat来帮我们启动spring程序

public class WarStarterApplication extends SpringBootServletInitializer {
    /**
     * 打包发布时,需要重载实现这个方法
     * @param builder
     * @return
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

4.修改项目中涉及到的位置信息啥的,然后将打包好的 war 包复制到tomcat中的webapps目录下就好,然后观察logs中的日志是否有报错信息。

注意:对于pom中引入的依赖,一定需要明确配置项的含义,对于不清楚的配置项尽量弄明白,不需要的一定要删掉。例如option,在AOP依赖中配置为了true,结果tomcat日志中一直显示ProceedingJoinPoint找不到...搞了好久才弄好...

 <!-- 表示一个可选依赖,两个项目之间依赖不传递-->
   <optional>true</optional>

相关文章

网友评论

      本文标题:springboot打包war包发布流程

      本文链接:https://www.haomeiwen.com/subject/gdrukltx.html