SpringBoot之War和Jar包部署-基于SpringBoot2.0.2版本
引言使用SpringBoot构件的项目一般有两种发布方式:1.jar包(可以直接通过java -jar 的命令进行启动)2.war包(一般放到Tomcat、Jboss等web容器里面)下面我针对这两种发布方式进行讲解。环境准备jdk8 idea maven3 spring boot项目(maven构建)tomcat9适用前后端分离的项目(后台只提供...
一、引言
使用SpringBoot构件的项目一般有两种发布方式:
- jar包(可以直接通过java -jar 的命令进行启动)
- war包(一般放到Tomcat、Jboss等web容器里面)
下面我针对这两种发布方式进行讲解。
二、环境准备
- jdk8
- idea 2018.03
- maven3
- tomcat9
- spring boot项目(maven构建)
- 适用前后端分离的项目(后台只提供服务接口)
项目结构如下:
三、Jar方式发布
-
修改maven中的package方式为jar
-
添加spring boot maven插件,指定mainClass
说明:如果此处不指定mainClass的话,很有可能就是项目可以打包成功,并且可以java -jar ***.jar成功启动,但是访问不了任何服务。
-
进到此项目路径下(即pom.xml所在文件目录)
执行mvn clean package
稍等片刻,即可提示打包成功!!! -
进入到jar所在目录位置,使用
java -jar ***.jar
启动启动成功界面:如下
看到如下:即启动成功
-
测试服务(测试成功)
四、War方式发布
-
修改pom中打包方式为war
-
改造入口类:我的项目是FrameworkApplication
继承SpringBootServletInitializer类,重写configure()方法,内容如下 -
进到此项目路径下(即pom.xml所在文件目录)
执行mvn clean package
稍等片刻,即可打包成功 -
将打包好的war放入到tomcat9中,启动测试
复制到webapp下面,并改名为fr.war
启动Tomcat,发现启动正常
-
测试接口url
五、可能出现的异常问题及解决
- 打jar包时,如果打包成功,而且可以使用java -jar 命令启动成功,但是无法访问。考虑是没有执行mainClass的原因
- 打war包时,如果按照我上面说的方式打包成功,并且成功启动项目,但是也出现服务访问不了,一直报404。考虑如下原因:
六、其他
-
如何关闭项目服务
- window下:关闭命令行窗口就是关闭了项目。jar和war包一样。
- liunx下:ps命令找到进程, kill -9 xxx即可
-
其他注意事项
- 记得配置maven的java的编译版本,不然会报一些莫名其妙的错误
我这里配的是1.8版本
- 记得配置maven的java的编译版本,不然会报一些莫名其妙的错误
Github地址:Spring Boot 2.X 项目源码
更多推荐
所有评论(0)