springboot项目如何打war包流程的方法
目前,前后端分离的架构已成主流,因此使用springboot构建应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包,然后通过命令 : java -jar jar包名称即可启动服务了;
但在有些场景下,比如部署到外部的服务器的时候,客户方指定要以tomcat的形式启动服务的时候,即需要由服务提供方提供一个war包的时候,该怎么办呢?
一开始没有查找资料,自己差点准备使用传统的ssm框架改造服务的,后来思考和参考相关资料后,发现只需要挤出简单的配置和改造就可以做到,下面是记载将springboot项目改造打包成war的流程,算是一个简单的参考:
1、pom文件添加如些依赖,
<!--添加servlet-api的依赖,用来打war包 --> <dependency> <groupid>javax.servlet</groupid> <artifactid>javax.servlet-api</artifactid> <scope>provided</scope> </dependency>
这个依赖主要是用于在和jsp进行整合的使用,可酌情添加
2、排除springboot内置的tomcat干扰
<!--最终打成war包,排除内置的tomcat--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> </exclusion> </exclusions> </dependency>
有人说也可以添加一个tomcat的依赖,这种方式也许是可以的,但是我没有尝试,大多数推荐的还是上面一种,即排除掉内置的tomcat,
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> <scope>provided</scope> </dependency>
3、改造启动类
改造之前:
@springbootapplication public class mainapp { public static void main(string[] args) { springapplication.run(mainapp.class,args); } }
改造之后:
@springbootapplication public class mainapp extends springbootservletinitializer { public static void main(string[] args) { springapplication.run(mainapp.class,args); } @override protected springapplicationbuilder configure(springapplicationbuilder builder) { return builder.sources(mainapp.class); } }
这种改造方式也是官方比较推荐的方法
4、pom文件中不要忘了maven编译插件
<build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build>
当然,在生成环境下,这里可以做更加精细的配置,
5、如果在idea的环境下,依次执行窗口里的 clean ,install即可,
执行完毕后,可以看到war包已经生成了,默认是在target目录下,位置可以在pom文件中进行配置,
6、使用tomcat进行部署启动,
可以自己指定启动端口和访问的路径,
然后启动tomcat,看起来仍然像是springboot的启动界面,
为了验证,我们访问一下项目里面的接口,这里访问我们的swagger,可以看到,已经可以成功访问了,
项目启动的时候出现了乱码,如下所示,
解决办法如下,添加配置,-dfile.encoding=utf-8即可,
到此这篇关于springboot项目如何打war包流程的方法的文章就介绍到这了,更多相关springboot打war包内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: PS如何将新建界面设置成旧版 PS2019将新建界面更改为旧版样式教程
下一篇: 吃隔夜食物有讲究
推荐阅读
-
eclipse springboot工程打war包方法及再Tomcat中运行的方法
-
SpringBoot项目部署到服务器上的方法(Jar包)
-
springboot 打war包详细流程
-
SpringBoot 项目打 war 包流程
-
Tomcat启动springboot项目war包报错:启动子级时出错的问题
-
Docker如何给Springboot项目动态传参的实现方法
-
springboot项目如何打war包流程的方法
-
eclipse springboot工程打war包方法及再Tomcat中运行的方法
-
docker安装tomcat并部署Springboot项目war包的方法
-
SpringBoot项目如何打可执行war包