SpringBoot项目打包war包

打包

1.修改打包形式
 <packaging>war</packaging>
__________________________________________________________________________________________

2.移除嵌入式tomcat插件两种方式
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 1.移除嵌入式tomcat这种将需要使用本地tomcat运行项目-->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!--这种运行时可以使用,但不会打包进入war包-->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>8.0.36</version>
    <scope>provided</scope>
</dependency>
__________________________________________________________________________________________

3.添加servlet-api的依赖
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
__________________________________________________________________________________________


<!--springboot打包的maven插件-->
<!--finalName打包后包名-->
 <finalName>ROOT</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>

	

4.修改启动类,重写初始化方法

@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);
    }
}
/*
war放在Tomcatwebapps下,前端访问路径上没有包名,将无法访问后端接口有以下三种处理方式
1.将war包文件改名为 ROOT.war
2.server.xml中添加<Context path="" docBase="项目路径"> </Context>,并重启服务器
3.静态页面访问地址换为绝对地址
*/

版权声明:本文为scu_cs_yhh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。