启动jar包指定外部配置文件方便用户修改

wylc123 1年前 ⋅ 1736 阅读

背景

       在项目自动化部署中我们会碰到一些启动参数我们并不能提前确定下来, 例如数据库配置, 所以启动jar包时就需要去读取外部的配置文件, 方便用户修改。

使用方法

       使用-Dspring.config.location指定配置文件, 优先级高于jar包内部的配置文件。

java -jar -Dspring.config.location=application.properties xxx.jar

其他配置相关

(指定所用yaml文件、运行环境、输出日志)

nohup jdk1.8.0_131/bin/java -jar -Dspring.config.location=tmp/springboottmp/xxx.yaml tmp/service.jar --spring.profiles.active=test > logs/xxxlog.log 2>&1 &

命令说明:

nohup:意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
jdk1.8.0_131/bin/java:指定使用的jdk
2>&1:
    在shell中,0表示标准输入,1表示标准输出,2表示标准错误。
    而>表示重定向,而2>&1中的&则表示等同于的意思。
    因此下面的操作就很好理解了:
    > file表示将标准输出输出到file中,即相当于1>file,
    2> error表示将标准错误输出到error中,
    2>&1表示将标准错误也输出到标准输出中,
    >/dev/null 2>&1表示将标准错误重定向到标准输出中,并将标准输出输出到无底洞中(即不记录)
    之所以要重定向,是因为有的时候我们需要记录全部日志,而有的时候我们只需要记录错误信息,或者有的时候我们程序内部已经记录了日志因此不需要额外再记录日志。

注:

//显示所有的进程
ps -ef

查看那个端口被占用
netstat -tln
netstat -tln | grep 80

参照:
Linux 运行jar包命令如下:
方式一:
java -jar XXX.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

那如何让窗口不锁定?
方式二
java -jar XXX.jar &
&代表在后台运行。

特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

继续改进,如何让窗口关闭时,程序仍然运行?
方式三
nohup java -jar XXX.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

方式四
nohup java -jar XXX.jar >temp.txt &
解释下 >temp.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: