【Java】java -jar 读取jar包之外的yml

需求描述

springboot项目接入nacos配置,代码中使用bootstrap.yml来指定nacos信息,为了防止不同环境的来回切换,服务器中都单独在放一个bootstrap.yml,来指定具体环境的nacos配置,如sit服务器使用sit的nacos配置,uat服务器使用uat的nacos配置文件。

服务其中打出来的jar中已经包含了各个bootstrap-xxx.yml文件(没有排除响应的配置文件),jar所在位置(同级)也引入了外部的bootstrap.yml来引入nacos配置。

目的:运行时,希望使用的时外部 bootstrap.yml 文件。

bash 复制代码
nohup java -jar -Xms512M -Xmx512M -Duser.timezone=GMT+8 -Dlog.path=/applog/logs  -Dspring.profiles.active=local xxx-1.0.0-release.jar  -jasypt.encryptor.password=xxxsalt &

如果打包时,排除jar中的配置文件,那么用上边的启动命令是可以的。如果jar包中包含项目配置文件,上边命令有时可以有时不可以(那就是不可以)。

解决方法

使用-D命令设置系统属性

bash 复制代码
nohup java -jar -Xms512M -Xmx512M -Duser.timezone=GMT+8 -Dlog.path=/applog/logs -Dspring.config.location=./bootstrap.yml xxx-1.0.0-release.jar  -jasypt.encryptor.password=xxxsalt &

shell脚本命令中使用-Dspring.config.location=./bootstrap.yml,指定外部配置文件。

参考文章

https://blog.csdn.net/qq_34484062/article/details/128021066

这种感觉不是很好使

相关推荐
一条大祥脚3 小时前
Cuda Rudece算子实现(附4090/h100测试)
java·数据结构·算法
嗑瓜子儿溜茶水儿3 小时前
docker 部署 kkfileview ; arm64; ky10;
java·docker
CoderYanger3 小时前
贪心算法:1.柠檬水找零
java·算法·leetcode·贪心算法·1024程序员节
JIngJaneIL3 小时前
基于Java饮食营养管理信息平台系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
JavaEdge.3 小时前
永别了,控制台!
java
爱笑的眼睛113 小时前
端到端语音识别系统的前沿实践与深度剖析:从RNN-T到Conformer
java·人工智能·python·ai
老华带你飞3 小时前
垃圾分类|基于springboot 垃圾分类系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
悟能不能悟3 小时前
JAVA 中dao层的实体应该属于哪个层次VO,还是DTO,或者其他
java·开发语言
醇氧3 小时前
在 Spring Service 中使用 private final Gson gson = new Gson(); 是否安全?
java·安全·spring
CodeAmaz3 小时前
InnoDB的MVCC机制
java·数据库·mvcc