问题一. 读取resource 目录下文件时出现路径找不到

在本机测试都很顺利,当打包jar文件放到服务器上测试的时候发现了类似下面的异常信息:

java.nio.file.NoSuchFileException: file:/app.jar!/BOOT-INF/classes!/xxx.xlsx

原因:spring boot 将项目打包为jar,使用 java - jar 包名 在服务器上运行。此时文件为打包文件,所以不能通过路径获取到文件。类似不能读取压缩包中的文件,必须先解压缩。结论:spring boot 中的文件只能通过流来进行读取。

可以通过以下方法进行流的读取。

InputStream in = this.getClass().getClassLoader().getResourceAsStream("xxx.xlsx");

问题二. Excel模板下载文件损坏

在本机测试都很顺利,当打包jar文件放到服务器上时下载完文件提示文件损坏

问题原因分析:
一开始度娘查到各种各样的说法,比如修改response请求回应头,比如使用ByteArrayHttpMessageConverter,比如修改文件读取方式,没点屁用!!

后面看到另外一篇文章,maven 打包的时候,使用了filter,其原理是处理文本文件,并将其替换

SpringBoot打成jar包部署,Excel模板下载文件遇到的问题相关推荐

  1. SpringBoot打成jar包部署,Excel模板下载文件损坏,提示恢复问题处理

    Spring Boot 静态资源Excel模板文件下载遇到的坑 问题描述: 使用spring boot,在resource/static目录下,有Excel模板文件, 需要提供给用户下载,用于数据的导 ...

  2. SpringBoot打成jar包cmd中运行时修改配置文件的值

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 在上面 ...

  3. SpringBoot打成jar包时访问templates下的html出错或访问不到

    SpringBoot打成jar包时访问templates下的html出错或访问不到 问题描述 背景 在Springboot项目中,本地环境下(idea)中,访问html文件的方式如图结构 问题 打成j ...

  4. SpringBoot 打成jar包供第三方引用自动装配方案实现

    SpringBoot 打成jar包供第三方引用自动装配方案实现 每天多学一点点~ 话不多说,这就开始吧- 文章目录 SpringBoot 打成jar包供第三方引用自动装配方案实现 1.前言 2.使用者 ...

  5. springboot项目集成log4j2打成jar包 ,引入外边的log4j2文件,运行日志无法打印

    springboot项目集成log4j2打成jar包 ,引入外边的log4j2文件,运行日志无法打印 问题描述 因为项目中已经有log4j2文件,所以打的jar中也有,在application.yml ...

  6. springboot打成jar后获取classpath下的文件

    直接上代码 JAR包用这个 //获取容器资源解析器ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver( ...

  7. springboot打成Jar包下载Excel模板文件损坏问题

    最近遇到Springboot环境项目打成jar后下载Excle文件出现损坏问题,我是在网上找了这种方法解决的: String fileName = "aaa.xlsx"; Clas ...

  8. SpringBoot打成Jar包运行,获取运行Jar包的目录

    SpringBoot获取运行Jar包的目录 // linux和windows下通用 private String getJarFilePath() {ApplicationHome home = ne ...

  9. springboot打成jar包后linux服务器上无法读取resources资源文件里文件路径的问题

    1.起因 将支付验正证书信息放在项目的resources资源文件下在本地通过 this.getClass().getResource("/").getPath() 可以正常读取证书 ...

最新文章

  1. python使用imbalanced-learn的SMOTETomek方法同时进行上采样和下采样处理数据不平衡问题
  2. rust高级矿场_高级 Rust 所有权管理
  3. C++ 类的保护继承与构造函数
  4. poj 2240 Arbitrage (floyd 变形)
  5. [转]正确配置Linux系统ulimit值的方法
  6. 判断一个男人穷还是富,只看这几点!
  7. 好爽 java_Intellij是进行scala开发的一个非常好用的工具,可以非常轻松查看scala源码,当然用它来开发Java也是很爽的,之前一直在用scala ide和ec...
  8. java访问方法修饰词四个_java中的四个修饰词(访问权限)
  9. All xxx functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  10. Jabber 创建一个application dial rule
  11. .NET 4 实践 - 使用dynamic 和MEF实现轻量级的 AOP 组件 (1)
  12. xp桌面计算机在哪个文件夹,XP电脑的桌面背景在哪个文件夹?
  13. 机器学习笔记之基础概念
  14. python tox
  15. Photoshop制作剔透魔法水晶球
  16. 通信教程 | USB接口、标准和基础原理
  17. AM2120单总线温湿度传感器移植与应用
  18. 【秋招备战计划第一弹】今天就开始备战秋招
  19. Python之Flask框架(一)
  20. 旅游商城小程序怎么开发?

热门文章

  1. Idea配置类和方法的注释, for循环快捷键
  2. 如何用Vue快速构建github可视化大数据平台
  3. 风控大佬的一天从这两张报表开始(搬砖)了
  4. 最小摩托车433胎压监测模块集成方案
  5. (附源码)ssm高校专升本考试管理系统 毕业设计 201631
  6. 用C语言编写的骂人的软件,自动骂人软件充斥网络 上网聊天竟被骂
  7. C# NX二次开发:制图模块中尺寸线标注类型的type值和subtype值归纳总结
  8. 商城项目(七)整合RabbitMQ实现延迟消息
  9. 区别三极管及场效应管的电流方向,一看就懂。
  10. (轻量级||重量级) 区别