【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

这种感觉不是很好使

相关推荐
原来是好奇心5 分钟前
深入Spring Boot源码(二):启动过程深度剖析
java·源码·springboot
听风吟丶5 分钟前
Spring Boot 自动配置原理深度解析与实战
java·spring boot·后端
原来是好奇心6 分钟前
深入Spring Boot源码(一):环境搭建与初探项目架构
java·gradle·源码·springboot
韩凡7 分钟前
JAVA微服务与分布式(概念版)
java·分布式·微服务
bing.shao8 分钟前
Golang 之闭包
java·算法·golang
济南壹软网络科技有限公司10 分钟前
下一代盲盒系统核心架构解析:JAVA-S1如何打造极致公平与全球化体验
java·开源·盲盒源码·盲盒h5·国际盲盒源码
qq_3363139318 分钟前
HashMap
java·开发语言
就叫飞六吧18 分钟前
Spring 框架中的 Bean 继承:`parent` 属性 (XML配置)
xml·java·spring
故渊ZY23 分钟前
SpringBean核心机制与实战应用详解
java·spring
专注VB编程开发20年25 分钟前
C# int*指向 int 的指针类型(unsafe 上下文)
java·开发语言·c#