SpringBoot项目中获取resources下静态文件时遇到的坑及解决

 更新时间:2024年11月21日 08:44:57   作者:齐 飞  
文章总结:在项目中使用静态图片时,遇到jar包部署到linux服务器报错的问题,解决方法包括将图片上传到服务器指定文件夹或使用ClassPathResource读取,前者需要维护,后者更方便

问题

在项目中需要使用到静态图片,将静态图片放在resources文件夹下。

本地使用this.getClass().getResource()读取静态图片一切正常,成功读取到静态图片。

但是将项目打jar包部署到linux服务器时发送报错,

打印发现路径为:

file:/shop-1.0-SNAPSHOT.jar!/BOOT-INF/classes!/static/color.png

解决方法

1. 上传到服务器指定的文件夹下

可以将图片等需要读取的静态文件放到服务器指定的文件夹下 进行读取。

缺点就是需要进行维护,在不同的环境发布到不同的服务器上,每个服务器中都要上传一份;如果误删或者迁移项目忘记迁移这个文件就麻烦了。

2. 使用ClassPathResource读取

ClassPathResource classPathResource = new ClassPathResource("/static/color.png");
InputStream inputStreamImg = classPathResource.getInputStream();
BufferedImage bmp = ImageIO.read(inputStreamImg);

总结

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

相关文章

  • java实现2048游戏源代码

    java实现2048游戏源代码

    这篇文章主要为大家详细介绍了java实现2048游戏源代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 通过JDK源码分析关闭钩子详解

    通过JDK源码分析关闭钩子详解

    一个简单的关闭钩子,程序被中断或者正常退出时会显示 hook shutdown!非常的优雅,有效,巧妙。那么这篇文章就来给大家介绍关于通过JDK源码分析关闭钩子的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴。
    2017-11-11
  • spring-cloud入门之spring-cloud-config(配置中心)

    spring-cloud入门之spring-cloud-config(配置中心)

    这篇文章主要介绍了spring-cloud入门之spring-cloud-config(配置中心),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 优化spring boot应用后6s内启动内存减半

    优化spring boot应用后6s内启动内存减半

    这篇文章主要为大家介绍了优化spring boot后应用6s内启动内存减半的优化示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-02-02
  • Java实现上传文件到服务器的示例代码

    Java实现上传文件到服务器的示例代码

    这篇文章主要为大家详细介绍了如何使用Java实现上传文件到服务器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • SpringBoot application.yml和bootstrap.yml的区别

    SpringBoot application.yml和bootstrap.yml的区别

    本文主要介绍了SpringBoot application.yml和bootstrap.yml的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 完整B树算法Java实现代码

    完整B树算法Java实现代码

    这篇文章主要为大家详细介绍了完整的B树算法Java实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java Native关键字原理及作用解析

    Java Native关键字原理及作用解析

    这篇文章主要介绍了Java Native关键字原理及作用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • JAVA8 的StringJoiner 使用及原理解析

    JAVA8 的StringJoiner 使用及原理解析

    这篇文章主要介绍了JAVA8 的StringJoiner 使用及原理解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 详解springboot采用多数据源对JdbcTemplate配置的方法

    详解springboot采用多数据源对JdbcTemplate配置的方法

    在本篇文章中我们给大家详细分享了springboot采用多数据源对JdbcTemplate配置的方法,有需要的朋友们可以学习参考下。
    2018-10-10

最新评论