SpringBoot项目做完之后,打jar包,部署到服务器上

打包

Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar文件
所以在pom文件中加入:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

然后:maven-package打包
在这里插入图片描述
打包成功:testSpringBootMail-1.0-SNAPSHOT.jar
在这里插入图片描述
查看jar包的位置(在target文件夹下):
右键->show in explorer:就会在打开jar包所在的文件夹
在这里插入图片描述

部署

将jar包传到要部署的服务器上。这里我把jar包拉到了/usr/local/tzq/文件夹下
在这里插入图片描述
然后运行命令(服务器需要有jdk或者jre环境,java -jar就是执行jar包命令):

nohup java -jar testSpringBootMail-1.0-SNAPSHOT.jar >> log/java_log.file 2>&1 &

其中需要把testSpringBootMail-1.0-SNAPSHOT.jar替换成你的jar包的名字。
命令中的 nohup 和 & 作用:
在这里插入图片描述
此处参考:https://www.cnblogs.com/zouhong/p/12191196.html
到这里服务已经部署成功!!!

输入命令显示所有服务:lsof -i:8098

lsof -i :查看所有端口占用情况,lsof -i:8098我这个服务是在8098端口跑的

在这里插入图片描述
可以看到,服务已经在运行了!

运行脚本

除了直接java -jar运行jar包之外,还可以用shell脚本来运行启动服务:

start.sh:

 
#!/bin/bash
PROPATH=`pwd`
NODEPATH=${PROPATH}"/visualization/startup.js"

# 判断程序是否在允许,如果在运行停止
jpid=`ps aux | grep testSpringBootMail-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ ${jpid} ]; then
	echo 'Stop resource Process...'
	kill -15 $jpid
fi

# 等待五秒钟,确保服务已经停止,并显示进度条
b=''
for ((i=0;$i<=100;i+=2))
do
        printf "progress:[%-75s]%d%%\r" $b $i
        sleep 0.1
	if [ `expr $i % 4` -eq 2 ];then
		b=##$b
	else
		b=#$b
	fi
done
echo

# 判断程序是否已经停止,如果没有停止,-9 强制杀死进程
jpid=`ps aux | grep testSpringBootMail-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ ${jpid} ]; then
	echo 'Kill resource Process!'
	kill -9 $jpid
else
	echo 'Stop resource Success!'
fi

# 启动程序
nohup java -jar testSpringBootMail-1.0-SNAPSHOT.jar >> log/java_log.file 2>&1 &

echo "startup success..."

其中:
在这里插入图片描述
把该脚本放到jar包同一文件夹下,先 chmod u+x start.sh添加权限,然后运行 ./start.sh 即可完成启动。

脚本下载位置:https://download.csdn.net/download/TAaron666/19388641

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:18 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐