概述

新建SpringBoot项目时使用war包,说明这是一个web项目,因此发布的时候我把它放在tomcat的webapps下面。
注意:这里要让SpringBoot内置tomcat失效

必要的两点

1.如下所示,先让内置tomcat失效
SpringBoot的war包部署运行
代码:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

2.让启动类继承SpringBootServletInitializer并重写方法
SpringBoot的war包部署运行
代码:

@SpringBootApplication
public class Application extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
    public static void main(String[] args) {
	SpringApplication.run(Application.class, args);
    }
}

在windows上部署

先将项目打成war包:右击项目,先clean,后install,在target目录下生成war文件
SpringBoot的war包部署运行
将war文件放入在tomcat的webapps中,运行tomcat

在linux上部署

这里有一个需要注意的地方:
在windows上能运行的war包,在linux可能会有一下错误:
SpringBoot的war包部署运行
原因:找不到访问数据库的连接
解决方法:将pom文件中的MySQL依赖版本降低
SpringBoot的war包部署运行
然后和windows步骤一样,打包发布

相关文章:

  • 2021-06-08
  • 2021-11-01
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2021-11-19
猜你喜欢
  • 2021-06-09
  • 2022-12-23
  • 2021-10-28
  • 2021-04-16
  • 2021-04-29
  • 2021-12-26
相关资源
相似解决方案