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

 更新时间:2021年12月15日 10:13:37   作者:任我行哟  
这篇文章主要介绍了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();

这样就可以获取到了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis-plus的五种批量插入方式对比分析

    MyBatis-plus的五种批量插入方式对比分析

    本文主要介绍了MyBatis-plus的五种批量插入方式对比分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • SpringBoot使用MyBatis时的几种传参规范示例

    SpringBoot使用MyBatis时的几种传参规范示例

    使用Mybatis作为持久层框架时,对于数据库的增删改查等操作都需要参数的传递,本文就详细的介绍了一下SpringBoot使用MyBatis时的几种传参规范示例,感兴趣的可以了解一下
    2022-02-02
  • Java CountDownLatch完成异步回调实例详解

    Java CountDownLatch完成异步回调实例详解

    这篇文章主要介绍了Java CountDownLatch完成异步回调实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 利用Java8 Optional如何避免空指针异常详解

    利用Java8 Optional如何避免空指针异常详解

    Optional可以让你的代码具有可读性,且会避免出现空指针异常。 下面这篇文章主要给大家介绍了关于利用Java8 Optional如何避免空指针异常的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-01-01
  • Java之NIO基本简介

    Java之NIO基本简介

    这篇文章主要介绍了Java之NIO基本简介,文中给大家讲到了NIO 与 BIO的比较结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 通过String.intern()方法浅谈堆中常量池

    通过String.intern()方法浅谈堆中常量池

    这篇文章主要介绍了通过String.intern()方法浅谈堆中常量池,在JDK7之前,字符串常量是存在永久带Perm 区的,JDK7开始在将常量池迁移到堆中,这个变化也导致了String的新特性,下面我们慢慢进行介绍。,需要的朋友可以参考下
    2019-06-06
  • JAVA 继承基本类、抽象类、接口介绍

    JAVA 继承基本类、抽象类、接口介绍

    Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态
    2013-01-01
  • 踩坑批量更新sql报错,实际sql能够正常执行的问题

    踩坑批量更新sql报错,实际sql能够正常执行的问题

    在项目工程迁移过程中,遇到了一个批量更新接口在新工程中报错的问题,通过分析,排除了代码错误的可能,最终发现是由于数据库连接配置不当导致的,在jdbc连接字符串中加入allowMultiQueries=true参数后,问题得以解决,这个参数的作用是允许SQL批量执行
    2022-12-12
  • 带你了解Java常用类小结

    带你了解Java常用类小结

    今天带大家学习Java常用工具类,文中有非常详细的图文解说及代码示例,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下,希望能给你带来帮助
    2021-07-07
  • mybatis foreach list特殊处理方式

    mybatis foreach list特殊处理方式

    这篇文章主要介绍了mybatis foreach list特殊处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论