SpringBoot打成jar后无法读取根路径和文件


记录一下getContextClassLoader().getResource()之坑FileNotFoundException

今早部署代码到测试环境之后,测试需求的时候出现了FileNotFoundException,发现是获取字体路径的时候报错了,很奇怪,在本地调试的时候并未发现此问题。
错误日志:

	Caused by: java.io.FileNotFoundException: /opt/supplier_web/supplier_web.jar!/BOOT-INF/lib/supplier_web.web-0.0.1.jar!/font/simsun.ttf (No such file or directory)

SpringBoot打成jar后无法读取根路径和文件_第1张图片

问题代码如下:

SpringBoot打成jar后无法读取根路径和文件_第2张图片

排查发现问题如下:

这是因为打包后Spring试图访问文件系统路径,但无法访问JAR中的路径。

解决办法:

使用ClassPathResource解决问题。
SpringBoot打成jar后无法读取根路径和文件_第3张图片

你可能感兴趣的:(SpringBoot打成jar后无法读取根路径和文件)