Spring Boot(八):SpringBoot项目如何部署上线(两种方式 jar包和war包)

项目部署一般是两种方式:一种是打包成 jar 包直接执行,另一种是打包成 war 包放到 tomcat 服务器下。springboot一般情况下默认为jar包方式,这里我把jar包和war包两种方式都记录一下

*默认maven管理项目 !!!

1、jar包方式:

a、先用mvn clean清理一下;

b、忽略测试类 打成jar包命令:mvn clean package -Dmaven.test.skip=true;

c、将jar包上传到服务器上之后 ,使用命令:nohup java -jar target/spring-boot-scheduler-1.0.0.jar & 启动服务能正常访问即可。

2、war包方式:

a、将pom底下 jar  改为  war

Spring Boot(八):SpringBoot项目如何部署上线(两种方式 jar包和war包)_第1张图片

b、在pom底下修改 ---打包时排除自带的tomcat 

Spring Boot(八):SpringBoot项目如何部署上线(两种方式 jar包和war包)_第2张图片

在这里将 scope 属性设置为 provided,这样在最终形成的 WAR 中不会包含这个 JAR 包,因为 Tomcat 或 Jetty 等服务器在运行时将会提供相关的 API 类。

c、注册启动类

创建 ServletInitializer.java,继承 SpringBootServletInitializer ,覆盖 configure(),把启动类 Application 注册进去。外部 Web 应用服务器构建 Web Application Context 的时候,会把启动类添加进去。

package cn.tycoding;

import javafx.application.Application;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * @Author: liLong
 * @Data: Created on 2019/6/5
 * @Desc: 生成war包注册启动类
 */
public class ServletInitializer extends SpringBootServletInitializer {
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
        return application.sources(Application.class);
    }
}

d、执行 mvn clean package -Dmaven.test.skip=true 忽略测试类 打包上传到服务器启动tomcat 可以访问即可!

你可能感兴趣的:(SpringBoot)