spring boot 项目打包jar 启动方式,以及 可能遇到的坑。

spring boot 方便的地方,就是 可以把 项目 打包成为 jar .

1、项目 设置成为 服务启动,可以 配置 开机自动启动

设置 服务启动,前提 准备 是 设置  jar项目 用户 为root ,权限 777 .

设置 用户---> 防止 项目中,比如 创建日志 文件 等 功能, 没有 创建 文件的 权限。

chown -R root:root mastra.jar

设置权限 ----> 使用 服务启动,需要 jar 有 可执行 权限

chmod 777 mastra.jar

设置 Java 软连接
ln -s /opt/java/jdk1.8.0_161/bin/java /usr/bin/java
设置服务软连接
ln -s /home/whr/mastra-0.0.1-SNAPSHOT.jar /etc/init.d/mastra

设置 java 软连接 的原因,是 为了 防止其他 奇葩的问题。

mastra-0.0.1-SNAPSHOT.jar  是 你的jar 的 名称,  软连接  设置的地址,在 /etc/init.d/ 目录下。

启动 服务
service mastra start 

停止服务
service mastra stop

重启服务
service mastra restart


2、nohup 启动。

我的 启动命令 如下:nohup java -jar -Dfile.encoding=UTF-8 mastra-0.0.1-SNAPSHOT.jar

nohup 启动 之后,

spring boot 项目打包jar 启动方式,以及 可能遇到的坑。

不要 ctrl + c 结束,直接 关闭 窗口 就可以了。

在 项目  当前目录下,会有一个 nohup.out 文件,为 项目启动日志。

刚才 的命令中, -Dfile.encoding=UTF-8 ,是 设置 项目启动 编码设置。 否则 输出 可能会乱码,或者,项目 接收的参数 可能乱码。


如果在 windows 下 启动项目, 哪怕 有 -Dfile.encoding=UTF-8 还是 输出乱码, 需要 在  cmd 窗口中,提前 运行 一下命令。

设置控制台编码
chcp 65001

之后,再 输入 启动项目 命令 

java -jar -Dfile.encoding=UTF-8 mastra-0.0.1-SNAPSHOT.jar