sprng boot 工程 读取不到依赖jar的配置文件, 本地idea跑没问题,但是在服务器却读取失败(appassembler打包方式)

SpringBoot中正确读取内嵌配置文件

spring boot 工程有一个依赖工程xxx-common.jar, 这个xxx-common.jar有一个工具类XUtils,这个工具类会读取xxx-common.jar classpath下的一个配置文件。
本来XUtils.class.getResource("/xxxx.json").getPath();获取路径,读取这个配置文件信息。后来发现服务器上跑有问题。(我这边的打包方式是appassembler方式)。

后来记得spring-boot 源码里面有 自动装配下读取有 spring.factory的文件, 后来参考了一下源码。

关键地方 org.springframework.util.ClassUtils getDefaultClassLoader 方法;

//源码如下:

public static ClassLoader getDefaultClassLoader() {
   
   
		ClassLoader cl = null;
		try {
   
   
			cl = Thread.currentThread().getContextClassLoader();
		}
		catch (Throwable ex) {
   
   
			// Cannot access thread context ClassLoader - falling back...
		}
		if (cl == null) {
   
   
			// No thread context class loader -> use class loader of this class.
			cl = ClassUtils.class.getClassLoader();
			if (cl == null) {
   
   
				// getClassLoader() returning null indicates the bootstrap ClassLoader
				t
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值