欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot项目发布

程序员文章站 2024-01-29 13:59:34
...

之前有几篇文章分别讲解了如何开发springcloud相关项目,今天这篇文章就来介绍一下spring boot 如何打包发布版本到最后的投产上线。

打jar包

springboot项目可以打成jar包或者war包,以前我们开发web项目基本都是打包成war包,然后放到web容器中运行,springboot自己集成了tomcat,可以直接打包运行,不需要再单独部署web应用服务器,而且打jar包很容易,对于基于maven的工程。

cd 项目根目录
mvn clean package
## 或者执行下面的命令
## 排除测试代码后进行打包
mvn clean package  -Dmaven.test.skip=true

如果项目test目录下有单元测试代码,如果没有跳过test则必须要保证单测代码能执行通过,否则会一直报错无法执行通过。
打包完成后jar包会生成到target目录下,名称为工程名称+版本号,版本号在pom.xml中设置。

通过java -jar就可以启动jar包。

java -jar jar包路径/jar包名称

这样运行的坏处就是关闭窗口后,进程会停止运行,在linux中我们可以通过nohup命令来执行。

nohup java -jar jar包路径/jar包名称 &

一般生产项目我们都会在sprignboot中设置多个profile来区分不同环境的参数,启动的时候可以设置不同的profile让,springboot启动的时候使用不同的参数。

java -jar test.jar --spring.profiles.active=pre

生产运维

使用jinfo查看jvm当前运行的情况,来查看jar 启动后使用的是什么gc、新生代、老年代分批的内存都是多少

jinfo -flags pid
  • XX:CICompilerCount :最大的并行编译数
  • XX:InitialHeapSize 和 - XX:MaxHeapSize :指定JVM的初始和最大堆内存大小
  • XX:MaxNewSize : JVM堆区域新生代内存的最大可分配大小
  • XX:+UseParallelGC :垃圾回收使用Parallel收集器

重启应用

ps -ef|grep java 
##找到对应sprigboot进程的pid
kill -9 pid
## 再次重启
Java -jar  test.jar

springboot项目的运维是不是很简单。