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)
问题代码如下:
排查发现问题如下:
这是因为打包后Spring试图访问文件系统路径,但无法访问JAR中的路径。
解决办法:
使用ClassPathResource
解决问题。