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操作XML实例代码

    java操作XML实例代码

    这篇文章主要介绍了java操作XML实例代码,有需要的朋友可以参考一下
    2014-01-01
  • java基础学习笔记之泛型

    java基础学习笔记之泛型

    所谓泛型,就是变量类型的参数化。泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。
    2016-02-02
  • IDEA下因Lombok插件产生的Library source does not match the bytecode报错问题及解决方法(亲测可用)

    IDEA下因Lombok插件产生的Library source does not match the bytecode报

    这篇文章主要介绍了IDEA下因Lombok插件产生的Library source does not match the bytecode报错问题及解决方法,亲测试过好用,需要的朋友可以参考下
    2020-04-04
  • Java基础学习之构造方法详解

    Java基础学习之构造方法详解

    这篇文章主要为大家详细介绍了Java基础学习中构造方法的概述及注意事项,文中的示例代码讲解详细,对我们学习Java有一定帮助,需要的可以参考一下
    2022-08-08
  • java工程师进阶之MyBatis延迟加载的使用

    java工程师进阶之MyBatis延迟加载的使用

    本文是java工程师进阶篇,主要介绍了java应用开发中MyBatis延迟加载及如何使用,有需要的朋友 可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • 详谈StringUtils3之StringUtils.isEmpty()和StringUtils.isB的区别

    详谈StringUtils3之StringUtils.isEmpty()和StringUtils.isB的区别

    这篇文章主要介绍了详谈StringUtils3之StringUtils.isEmpty()和StringUtils.isB的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • SpringBoot实现转页功能

    SpringBoot实现转页功能

    这篇文章主要介绍了SpringBoot实现转页功能,页面的跳转在web开发中是经常用的基础功能,感兴趣想要详细了解可以阅读下文,对大家的学习或工作具有一定的参考借鉴价值
    2023-05-05
  • 非常实用的java自动答题计时计分器

    非常实用的java自动答题计时计分器

    这篇文章主要为大家详细介绍了非常实用的java自动答题计时计分器的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • eclipse构建和发布maven项目的教程

    eclipse构建和发布maven项目的教程

    这篇文章主要为大家详细介绍了eclipse构建和发布maven项目的教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java程序免安装JDK的运行方案

    Java程序免安装JDK的运行方案

    文章介绍了将JDK和Java程序一起打包,通过启动脚本直接调用内置JDK,实现无需安装JDK即可一键运行Java程序,适合绿色部署、低技术门槛和快速交付场景,需要的朋友可以参考下
    2025-10-10

最新评论