文章目录

  • SpringBoot工程打包与发布运行
  • 一、Windows版
  • 1、环境
  • 2、操作步骤
  • 2.1、clean
  • 2.2、跳过test测试
  • 2.3、packag
  • 2.4、cmd运行 -> java -jar xxx.jar
  • 2.5、浏览器访问成功
  • 3、常见问题
  • 3.1、缺少maven-plugin插件
  • 3.2、端口占用
  • 二、Linux版
  • 1、环境
  • 2、操作步骤
  • 2.1、clean
  • 2.2、跳过test测试
  • 2.3、packag
  • 2.4、 查看IP地址
  • 2.5、关闭防火墙
  • 2.6、java -jar xxx.jar
  • 2.7、浏览器访问成功
  • 3、后台运行
  • 4、端口占用,杀死进程


SpringBoot工程打包与发布运行

  • 项目完成后,确认无误,即可进行打包发布
  • 以前我们是在IDEA中直接打包运行的,现在需要把他打包成jar后,在Windows或Linux中发布运行

一、Windows版

1、环境

  • JDK 1.8.0_331
  • MySQL 8.0.29
  • IDEA 2021.3

2、操作步骤

2.1、clean

  • 选择需要打包的项目,首先进行clean,清除target目录

2.2、跳过test测试

spring boot 项目发布 springboot项目打包发布_intellij-idea

2.3、packag

  • packag打包生成target目录产生xxx.jar

2.4、cmd运行 -> java -jar xxx.jar

spring boot 项目发布 springboot项目打包发布_jar_02


spring boot 项目发布 springboot项目打包发布_spring boot_03

spring boot 项目发布 springboot项目打包发布_intellij-idea_04

2.5、浏览器访问成功

http://localhost/pages/books.html

3、常见问题

3.1、缺少maven-plugin插件

  • jar支持命令行启动需要依赖maven插件支持,需要确认打包时是否具有SpringBoot对应的maven插件,否则发布运行时会报错
  • 如果没有需要进行手动添加,正常情况下是默认存在的

3.2、端口占用

  • 发布运行时会存在端口占用的情况
  • spring boot 项目发布 springboot项目打包发布_java_05

  • 查询被占用的端口号,然后杀死进程
D:\Java\SpringBoot\daily_demo02\day63_springboot_ssmp\target>netstat -ano |findstr "80"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       5108

D:\Java\SpringBoot\daily_demo02\day63_springboot_ssmp\target>taskkill -f -pid "5108"
成功: 已终止 PID 为 5108 的进程。
  • netstat -ano
  • netstat -ano | findstr “端口号”
  • tasklist | findstr “进程PID号”
  • tasklist -f -fid “进程PID号”
  • tasklist -f -t -im “进程名称”

二、Linux版

1、环境

  • CenterOS7镜像
  • JDK 1.8.0_331 ,JDK版本不低于打包时使用的JDK版本
  • MySQL 8.0.29

2、操作步骤

2.1、clean

  • 选择需要打包的项目,首先进行clean,清除target目录

2.2、跳过test测试

spring boot 项目发布 springboot项目打包发布_spring boot_06

2.3、packag

  • packag打包生成target目录产生xxx.jar

2.4、 查看IP地址

spring boot 项目发布 springboot项目打包发布_spring boot_07

2.5、关闭防火墙

// 关闭防火墙
[root@mycentos7 jar]# systemctl stop firewalld

2.6、java -jar xxx.jar

spring boot 项目发布 springboot项目打包发布_jar_08

2.7、浏览器访问成功

3、后台运行

  • nohup java -jar xxx.jar > server.log 2>&1 &
[root@mycentos7 ~]# nohup java -jar day63_springboot_ssmp-0.0.1-SNAPSHOT.jar > server.log 2>&1 &
[1] 3764

4、端口占用,杀死进程

[root@mycentos7 ~]# ps -ef | grep "java -jar"
root       3764      1 13 09:13 ?        00:00:14 java -jar day63_springboot_ssmp-0.0.1-SNAPSHOT.jar
root       3981   3933  0 09:15 pts/0    00:00:00 grep --color=auto java -jar
[root@mycentos7 ~]# kill -9 3764
[root@mycentos7 ~]# ps -ef | grep "java -jar"
root       3999   3933  0 09:15 pts/0    00:00:00 grep --color=auto java -jar