springboot打成jar后无法读取根路径和文件的解决

springboot打成jar后无法读取根路径和文件的解决

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

ClassLoader.getSystemResourceAsStream(authenticationFileName)
PropertiesUtils.class.getClass().getResourceAsStream("/authentication.properties")

未打包时都可以获取到根路径和文件

打包后报java.lang.NullPointerException

ClassPathResource resource = new ClassPathResource("application.yml");
InputStream inputStream = resource.getInputStream();

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

因此必须使用resource.getInputStream()

springboot打jar找不到资源文件

需要采用这种写法:

ClassPathResource resource = new ClassPathResource(filePath);
InputStream inputStream = resource.getInputStream();

这样就可以获取到了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。