网站模板库
  • 首页
  • web前端工具
    • HTML/JS转换工具
    • JS/HTML格式化工具
    • 字母/英文大小写转换工具
    • robots.txt文件生成工具
    • Js压缩/格式化工具
    • Css在线压缩工具_代码格式化
  • 关于我们
    • 免责声明
    • 联系我们
    • 广告服务
    • 服务项目
    • 关于我们
    • 网站轮播
    • 公告
    • 成都优优科技专用
    • 按行业分类
  • web学院
    • 服务器教程
    • 学习资料
      • 基础书籍
      • 交互书籍
      • 入门教程
      • 特效分类
    • 案例分享
    • web资讯
  • 网页特效
    • 图片特效
    • 导航特效
    • 滑动按钮
    • 表单特效
    • 文字特效
    • 弹窗特效
    • 其他特效
  • 织梦模板
    • 科技/电子/数码/通信
    • 文化/艺术/广告/传媒
    • 装修/设计/家居/家具
    • 基建/施工/地产/物业
    • 餐饮/酒店/旅游/票务
    • 食品/果蔬/饮料/日用
    • 服饰/珠宝/礼品/玩具
    • 摄影/婚庆/家政/生活
    • 运动/健身/体育/器材
    • 学校/教育/培训/科研
    • 美容/保健/医院/医疗
    • 金融/财税/咨询/法律
    • 政府/组织/集团/协会
    • 汽车/物流/交通/搬运
    • 机械/设备/制造/仪器
    • 化工/环保/能源/材料
    • 农业/畜牧/养殖/宠物
    • 其他模版
    • IT/软件/信息/互联网
  • 手机模板
    • 手机APP模板
    • 微信小程序模板
    • wap
  • 网站模板
    • joomla模板
    • Drupal模板
    • z-blog模板
    • EyouCms模板
    • Bootstrap模板
    • 帝国cms模板
    • CmsEasy模板
    • MetInfo模板
    • 购物商城模板
      • Shopify主题
      • PrestaShop主题
    • 后台模板
    • 纯HTML模板
    • ecshop模板
    • phpwind模板
    • pbootcms模板
    • phpcms模板
    • wordpress模板
    • discuz模板
  • 教程
    • 织梦教程
    • Discuz教程
    • WordPress教程
    • Phpcms教程
    • Phpwind教程
    • ECShop教程
    • Joomla教程
    • Drupal教程
    • zblog教程
    • EyouCMS教程
    • 帝国cms教程
    • MetInfo教程
    • CmsEasy教程
登录
当前位置:网站模板库 > web学院 > 案例分享 > 无法通过 web 访问 jar 包中的一个 0 字节的文件
admin 案例分享 2023-05-28 10:02:01

无法通过 web 访问 jar 包中的一个 0 字节的文件

无法通过 web 访问 jar 包中的一个 0 字节的文件,第1张

无法通过 web 访问 jar 包中的一个 0 字节的文件,第2张

无法访问 jar 包中的一个 0 字节的文件

我目前正在做一个小型 web 项目。因为项目比较简单,所以用不上 nginx ,而是把前端生成的文件直接放到 /src/main/resources/static 下。

开发模式用 IDE 运行项目时没有什么问题,但在打包后用java -jar 后会发现前端有一个 chunk 访问不到:

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225125800200,第3张

然而在生成的 jar 包中,这个chunk-6800bed8.432245a1.css文件是有的,而且和其它 css 文件一样放在BOOT-INF/classes/static/css目录下:

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225125913381,第4张

其它的 css 访问完全没有问题,但这个就不行。发现的唯一区别就是它的大小是 0B ,也就是空的,怀疑 Spring Boot 在生产模式下对空文件做一些处理。但不确定也不知道怎么解决,所以来问问,请大佬解答。

附加信息:

1 、Java:openjdk 11.0.12 。Spring Boot:2.5.3

2 、前后端分离,前台 vue2 全家桶。空的 chunk 文件确实不应该产生,但我认为即使产生了,Spring Boot 也应该帮我返回回去,最主要是打包后行为不一致。

3 、前台路由的配合方式是用 ErrorPages ,除了状态码不对外,效果上应该没问题。

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225131727080,第5张

对比

通过 IDE 运行:

其它文件正常访问:

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225132820037,第6张

此文件也能正常访问(只不过是空的):

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225132829658,第7张

java -jar 运行:

其它文件仍能正常访问:

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225132922170,第8张

此文件无法正常访问(返回了 ErrorPage ):

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225132936305,第9张

找到问题所在了,ClassPathResource对File URL和jar URL采取不同的做法:

无法通过 web 访问 jar 包中的一个 0 字节的文件,image-20220225162730187,第10张

在jar中,空文件和目录会被认为是不可读的。而打包走了另一条路。

这个问题的背景是:https://github.com/spring-projects/spring-framework/issues/21372,有人访问了一个空文件夹,但下载了一个空文件。

跟我遇到相同问题的有:https://github.com/spring-projects/spring-boot/issues/16034,不过是在spring-boot里。

我的issue:https://github.com/spring-projects/spring-framework/issues/28107

----------------------- 以下是精选回复-----------------------

答:有可能打包之后文件损坏

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 无法通过 web 访问 jar 包中的一个 0 字节的文件

admin 钻石

分享到:
上一篇
求助帮忙,有关 window 服务器下编译 so 文件的事!
下一篇
R710, DL380 G7 这代的二手服务器当作公司的生产环境服务器可用性靠谱吗?

相关推荐

DOMNode.appendChild 如何添加另一个DOM里的节点?

DOMNode.appendChild 如何添加另一个DOM里的节点?

Python 写的脚本分享给其他人,用 docker 还是 pyinstaller 还是 virtualenv?

Python 写的脚本分享给其他人,用 docker 还是 pyinstaller 还是 virtualenv?

根据电影某一帧,匹配到某个电影。

根据电影某一帧,匹配到某个电影。

pycon2015 有人去的没?北京场

pycon2015 有人去的没?北京场

0条评论

发表评论 取消回复

要发表评论,您必须先登录。

提供最优质的资源集合

立即查看 了解详情
网站模板库

主题/付费下载/查看/余额管理/自定义积分,集成支付,卡密,推广奖励等。

本站导航
  • 链接标题
友情链接
  • 链接标题
快速搜索
本站由钛宇宙强力驱动
友情链接:
    商业源码网蜀ICP备2023005044号
    网站模板库
    • 登录
    • 注册
    网站模板库
    • 首页
    • web前端工具►
      • HTML/JS转换工具
      • JS/HTML格式化工具
      • 字母/英文大小写转换工具
      • robots.txt文件生成工具
      • Js压缩/格式化工具
      • Css在线压缩工具_代码格式化
    • 关于我们►
      • 免责声明
      • 联系我们
      • 广告服务
      • 服务项目
      • 关于我们
      • 网站轮播
      • 公告
      • 成都优优科技专用
      • 按行业分类
    • web学院►
      • 服务器教程
      • 学习资料►
        • 基础书籍
        • 交互书籍
        • 入门教程
        • 特效分类
      • 案例分享
      • web资讯
    • 网页特效►
      • 图片特效
      • 导航特效
      • 滑动按钮
      • 表单特效
      • 文字特效
      • 弹窗特效
      • 其他特效
    • 织梦模板►
      • 科技/电子/数码/通信
      • 文化/艺术/广告/传媒
      • 装修/设计/家居/家具
      • 基建/施工/地产/物业
      • 餐饮/酒店/旅游/票务
      • 食品/果蔬/饮料/日用
      • 服饰/珠宝/礼品/玩具
      • 摄影/婚庆/家政/生活
      • 运动/健身/体育/器材
      • 学校/教育/培训/科研
      • 美容/保健/医院/医疗
      • 金融/财税/咨询/法律
      • 政府/组织/集团/协会
      • 汽车/物流/交通/搬运
      • 机械/设备/制造/仪器
      • 化工/环保/能源/材料
      • 农业/畜牧/养殖/宠物
      • 其他模版
      • IT/软件/信息/互联网
    • 手机模板►
      • 手机APP模板
      • 微信小程序模板
      • wap
    • 网站模板►
      • joomla模板
      • Drupal模板
      • z-blog模板
      • EyouCms模板
      • Bootstrap模板
      • 帝国cms模板
      • CmsEasy模板
      • MetInfo模板
      • 购物商城模板►
        • Shopify主题
        • PrestaShop主题
      • 后台模板
      • 纯HTML模板
      • ecshop模板
      • phpwind模板
      • pbootcms模板
      • phpcms模板
      • wordpress模板
      • discuz模板
    • 教程►
      • 织梦教程
      • Discuz教程
      • WordPress教程
      • Phpcms教程
      • Phpwind教程
      • ECShop教程
      • Joomla教程
      • Drupal教程
      • zblog教程
      • EyouCMS教程
      • 帝国cms教程
      • MetInfo教程
      • CmsEasy教程

      弹窗标题

      这是一条网站公告,可在后台开启或关闭,可自定义背景颜色,标题,内容,用户首次打开关闭后不再重复弹出,此处可使用html标签...