微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

SpringBoot之War和Jar包部署-基于SpringBoot2.0.2版本

spring aide_941 23℃

SpringBoot之War和Jar包部署-基于SpringBoot2.0.2版本

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39723544/article/details/82012827

一、引言

使用SpringBoot构件的项目一般有两种发布方式:
1.jar包(可以直接通过java -jar 的命令进行启动)
2.war包(一般放到Tomcat、Jboss等web容器里面)
下面我针对这两种发布方式进行讲解。

二、环境准备

  • jdk8 idea maven3 spring boot项目(maven构建)
  • tomcat9
  • 适用前后端分离的项目(后台只提供服务接口)
    如下:
    这里写图片描述

三、Jar方式

  1. 修改maven中的package方式为jar
    这里写图片描述
  2. 添加spring boot maven插件,执行mainClass
    这里写图片描述

    说明:
    如果此处不指定mainClass的话,很有可能就是项目可以打包成功,并且可以java -jar *.jar成功启动,但是访问不了任何服务。

  3. 进到此项目路径下(即pom.xml所在文件目录)

    执行

    mvn clean package
    • 1

    这里写图片描述
    稍等片刻,即可提示打包成功!!!

  4. 进入到jar所在目录位置,使用java -jar *.jar启动

    启动成功界面:如下
    这里写图片描述
    看到如下:即启动成功
    这里写图片描述

  5. 测试服务(测试成功)
    这里写图片描述

四、War方式

  1. 修改pom中打包方式为war
    这里写图片描述
  2. 改造入口类:我的项目是FrameworkApplication

    继承SpringBootServletInitializer类,重写configure()方法,内容如下

    这里写图片描述

  3. 进到此项目路径下(即pom.xml所在文件目录)
    执行mvn clean package
    这里写图片描述
    稍等片刻,即可打包成功
  4. 将打包好的war放入到tomcat9中,启动测试
    这里写图片描述
    复制到webapp下面,并改名为fr.war
    这里写图片描述
    启动Tomcat,发现启动正常
    这里写图片描述
  5. 测试接口url
    这里写图片描述

五、出现的问题及解决

1.打jar包时,如果打包成功,而且可以使用java -jar 命令启动成功,但是无法访问。考虑是没有执行mainClass的原因。如下图
这里写图片描述
2.打war包时,如果按照我上面说的方式打包成功,并且成功启动项目,但是也出现服务访问不了,一直报404。考虑如下原因:
这里写图片描述

六、总结

  • 如何关闭项目服务

    window下:关闭命令行窗口就是关闭了项目。jar和war包一样。
    liunx下:ps命令找到进程, kill -9 xxx即可

  • 其他注意事项

    记得配置maven的java的编译版本,不然会报一些莫名其妙的错误
    这里写图片描述
    我这里配的是1.8版本

转载请注明:SuperIT » SpringBoot之War和Jar包部署-基于SpringBoot2.0.2版本

喜欢 (0)or分享 (0)