将写好的springboot项目打成jar包:
项目右键 -- Run As -- Maven build... ---此时出现下图
1.Goals 中填写:install
2.Skip Tests复选框勾上
3.点击Run运行
在项目中target中出现项目的jar包,将jar包放入Linux系统中,在同级目录下执行命令:
java -jar xxx.jar
xxx.jar就是你的jar包,出现Tomcat started on port(s): 8081 (http)这样项目就运行成功。
但是这样启动方式在关闭客户端项目就停止了,当你的项目需要永久的运行的时候,就需要使用下面的方法
nohup java -jar xxx.jar > system.log 2>&1 &
运行命令后,在同级目录下会出现system.log文件,这个文件就项目的日志文件。
使用命令:ps -a可以查看Java程序运行的进程号,用于停止程序,不过当程序有好几个的时候,用命令:ps -ef|grep java这个命令会将搜索Java相关的所以进程号,根据jar包名称找到需要停止的进程号,使用命令:kill -9 11759杀死进程,11759是进程号。(PS:杀死进程时一定要注意不要看错了进程号,以免杀错!!)
为了简化程序启动,参考下文:
启动SpringBoot应用shell脚本
https://blog.csdn.net/u010982507/article/details/99776278
#!/bin/bash
APP_NAME=spring-boot-server.jar
echo "任务开始"
usage() {
echo "case:sh run.sh [start | stop | restart | status]"
echo "请类似这样执行 ./*.sh start or ./*sh restart"
exit 1
}
# 判断当前服务是否已经启动的函数
is_exist() {
echo "执行 is_exist方法"
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
if [ -z "${pid}" ]; then
echo "pid is null."
return 1
else
echo "${APP_NAME} running. pid=${pid}"
return 0
fi
}
#启动服务命令
start() {
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} running. pid=${pid}"
else
java -d64 -server -verbose:gc -Xloggc:./log/gc_`date +%Y%m%d%H%M%S`.log -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./log -XX:ErrorFile=./log/hs_err_%p.log -XX:+UseG1GC -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=128m -jar ${APP_NAME} &
echo "${APP_NAME} started"
fi
}
#停止服务命令
stop() {
echo "执行stop方法"
is_exist
if [ $? -eq 0 ]; then
kill -9 $pid
echo "${pid} stop"
else
echo "${APP_NAME} not running"
fi
}
#重启命令
restart() {
stop
start
}
case "$1" in
"status")
is_exist
;;
"start")
start
;;
"stop")
stop
;;
"restart")
restart
;;
*)
usage
;;
esac
使用方法
- 查看运行状态
./boot.sh status
- 启动
./boot.sh start
- 停止
./boot.sh stop
- 重启
./boot.sh restart