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();
这样就可以获取到了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。