【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

这种感觉不是很好使

相关推荐
XIAEE1 分钟前
初次使用 Node + Koa + MongoDB 搭建服务器:从零到第一个 API
java·spring
m0_587383007 分钟前
无人自助拼豆系统核心功能开发与部署落地全流程实战指南
java·经验分享·后端·struts·架构
雷一言说16 分钟前
Spring AI 2.0:RAG 文档分块大小策略选择
java·spring
XIAEE16 分钟前
Java 世界历险记:从一行 System.out.println 到整个 Spring 宇宙
java·spring
XIAEE18 分钟前
微前端狂想曲:我试图让三个不同门派的前端住进同一栋楼
java·spring
XIAEE19 分钟前
Linux 生存指南:从"终端恐惧症"到"命令行老司机"
java·spring
XIAEE19 分钟前
实战教程:手机端死活调不出摄像头?聊聊安全上下文(Secure Context)
java·spring
程序员清风20 分钟前
堆与优先队列:从 Top K 到任务调度
java·数据结构·算法
XIAEE25 分钟前
ES6 与 Node.js 群侠传:那些年我们追过的语法,和那些年把我们追杀的 API
java·spring
XIAEE26 分钟前
WebRTC 探险记:我是如何让两个浏览器"看对眼"的
java·spring