SpringBoot部署war包

1、设置打包方式为war

<packaging>war</packaging>

2、在插件中指定入口类

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!--使用热部署出现中文乱码解决方案-->
            <configuration>
                <fork>true</fork>
                <!--增加jvm参数-->
                <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                <!--指定入口类-->
                <mainClass>com.baizhi.Application</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>      

3、排除内嵌的tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>   <!--去掉内嵌tomcat-->
</dependency>

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>  <!--去掉使用内嵌tomcat解析jsp-->
</dependency>

4、配置入口类

//1.继承SpringBootServletInitializer
//2.覆盖configure方法
public class Application extends SpringBootServletInitializer{
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

5、打包测试

# 一旦使用war包部署注意:
-    1. application.yml 中配置port context-path 失效
-    2. 访问时使用打成war包的名字和外部tomcat端口号进行访问项目
最后修改:2021 年 10 月 19 日 12 : 30 AM
如果觉得我的文章对你有用,请随意赞赏