springboot项目打包成war包
1. 项目场景
使用springboot 开发项目,由于内置了tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了。
有时需要把项目打包放入外置的 tomcat 或者 tongweb 中运行,就需要把项目打包成 war 包,。
2. 实现步骤
2.1 将启动类的pom文件打包方式更改为 war
<packaging>war</packaging>
2.2 排除内置 tomcat
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <!-- 排除内置的tomcat --> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> </exclusion> </exclusions> </dependency>
2.3 添加tomcat依赖,需要用到 servlet-api 的相关 jar 包
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> <!-- tomcat范围改成provided,否则后面就会出问题,tomcat无法解析jsp --> <scope>provided</scope> </dependency>
2.4 修改启动类,继承 springbootservletinitializer 并重写 configure 方法
或者新建文件文件名随意,继承 springbootservletinitializer 并重写 configure 方法,也是一样的
@override protected springapplicationbuilder configure(springapplicationbuilder builder) { return builder.sources(myapplication.class); }
package com; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.boot.builder.springapplicationbuilder; import org.springframework.boot.web.servlet.support.springbootservletinitializer; @springbootapplication public class myapplication extends springbootservletinitializer { @override protected springapplicationbuilder configure(springapplicationbuilder builder) { return builder.sources(myapplication.class); } public static void main(string[] args) { springapplication.run(myapplication.class, args); } }
3. 打成 war 包
3.1 直接使用 idea 打包,首先运行 clean ,然后点 package,打包即可
3.2 运行完成会把项目打成war包
到此这篇关于springboot项目如何打包成war包的文章就介绍到这了,更多相关springboot打包成war包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论