背景:
首先因为项目需求需要打Jar在linux下运行,所以就需要了解如何打Jar。
其次有个需求,那就是我们希望我们的配置文件可以随时的改变,不希望改一次配置就要重新打一次Jar包。(简单点说就是希望类似于Beego框架那种外部配置文件的执行方式)
1. SpringBoot打Jar包:
当上面执行完成会生成相关的Jar文件:
最后执行:
首先执行语句大家都比较熟悉,那就是: java -jar XXX.jar就可以执行了。但是有一点那就是 我们在linux环境中都是需要后台启动运行,所以采用下面的shell脚本来执行。
具体的运行如下:
[root@edgeprod ~]# nohup ./run.sh &
然后查看日志可以使用:
[root@edgeprod ~]# tail -f nohup.out
//然后看是否后台在运行
[root@edgeprod ~]# ps -ef |grep demo-0.0.1-SNAPSHOT.jar
root 7287 5714 0 09:38 pts/0 00:00:00 grep demo-0.0.1-SNAPSHOT.jar
root 26935 26934 0 Oct17 ? 00:02:19 java -jar demo-0.0.1-SNAPSHOT.jar
2. 外部配置文件的问题:
首先关于配置文件,SpringBoot默认的时候是根据我们项目下的resources文件下进行获取相关的配置信息,如下图所示:
在文件夹下面我们可以看到application配置文件,那就是我们项目的相关配置,下面我们就需要将该部分的配置进行外部配置:
具体如下:
在和项目src同级目录下创建config文件件,里面放入和application的相关配置文件,具体如下:
最后在linux环境中部署的时候,就需要下面的方式进行这种结构进行相关的部署配置: