两套环境同一个接口返回不一致的排查

最近遇到个文件下载的问题,在开发环境好好的,测试环境就不行404。查了接近两天才解决。整个思路做个记载。

问题描述:通过视图解析器下载项目中的静态资源文件模板。也就是sringboot的resource目录下的文件。开发环境下载正常,测试环境下载404.

首先排除业务代码的问题。因为有环境能成功,在思考是不是jdk版本导致。本地用jdk11试了下,好像真有点出入。发现类加载器变化了。

再去看看测试环境的类加载器。发现类加载又是另一个。这就要搞懂这三个加载器是什么时候去加载,为什么会不一致。

下面贴一段解释

这就比较明确了,是因为启动方式不同导致的问题。jdk8和jdk11内置的类加载是项目以war包形式启动会使用。而spirngboot那个是以jar包启动才会使用。于是本地采用java -jar的方式进行启动,结果本地还真复现了。也出现了404的问题。

那么顺着日志去找源码。发现是isFile里面竟然没考虑jar包方式启动的场景,那么只能在外层做一次封装。

这样就解决了。只是兼容一下jar包启动的方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP员工管理系统小程序

💼高效管理,从“员工管理系统”开始💼 📋【一键录入,信息整合】📋 你是否还在为整理员工信息而手忙脚乱?纸质档案易丢失、电子表格易混乱,这些问题在“员工管理系统”面前都将迎刃…

MemoRAG:重新定义长期记忆的AI问答模型

MemoRAG模型是如何实现长记忆的? ©作者|Blaze 来源|神州问学 引言 随着人工智能的发展,AI问答模型在各种应用场景中表现出色,尤其是在信息检索和知识问答领域。传统的RAG模型通过结合外部知识库的实时检索与生成模型,极大地…

再次被约谈了

大家好,我又来了,从上周一开始,一直听到不好的传言,下午听说有些人被约谈了,看来裁员工作已经开始了 就在我坐立不安时,看到领导飞书发来信息: 看来终于轮到我了,虽然做好了心里准…

ELK的ElasticStack概念

目录 传送门前言一、ElasticStack是什么二、ElasticStack数据格式1、Elasticsearch的概述2、Elasticsearch核心概念(1)接近实时(NRT)(2)集群(cluster)(3)节点…

从零开始docker-compose入门教程,快速上手多容器管理!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 docker-compose 📒📝 Docker Compose的作用📝 Docker Compose的安装1. 在Linux或macOS上安装2. 在Windows上安装3. 在Linux或macOS上卸载4. 在Windows上卸载📝 Docker Compose基本语法📝 示例:使用Docker Compose部署…

聚水潭到畅捷通T+的数据高效集成方案解析

聚水潭到畅捷通T的数据高效集成方案解析 聚水潭销售出库单到畅捷通销货单的高效数据集成方案 在企业日常运营中,数据的高效流转和准确对接是提升业务效率的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将聚水潭奇门系统中…

Flink(一)

目录 架构处理有界与无界数据部署应用到任意地方运行任意规模应用利用内存性能 流应用流处理应用的基本组件流状态时间 应用场景事件驱动应用事件驱动应用的优势Flink如何支持事件驱动应用? 典型的事件驱动示例 数据分析应用流式分析应用的优势?Flink 如…

word怎么压缩文件大小?这几种压缩word文件方法超级好用!

word怎么压缩文件大小?在当今快节奏的工作环境中,Word文档已成为我们日常工作的得力助手,然而,随着文档数量的不断增加,文档体积的膨胀成为了一个亟待解决的问题,这不仅导致了存储空间的紧张,也…

【grafana+Prometheus(普罗米修斯)实现监控功能】

一、背景: 在性能测试的时候经常需要观察对应服务器的cpu、内存等指标,或者有些性能测试需要监控数据库的一些信息 二、监控服务器工具: 1、使用jmeter时可以自带监控服务的功能 缺点:只能在运行jmeter的时候才能实现监控功能 2、使用li…

WPF+MVVM案例实战(八)- 自定义开关控件封装实现

文章目录 1、案例运行效果2、项目准备2、功能实现1、控件模板实现2、控件封装1、目录与文件创建2、各文件功能实现 3、开关界面与主窗体菜单实现1、开关界面实现2、主窗体菜单实现 4、源代码获取 1、案例运行效果 2、项目准备 打开项目 Wpf_Examples,新建ToggleBut…

无法启动此程序win10玩游戏找不到d3dx9_43.dll缺失的五种常用有效解决方法

d3dx9_43.dll 是 DirectX 9 的一个关键组件,属于动态链接库(DLL)文件,由微软公司开发。DirectX 是一组用于多媒体应用的 API,包括 d3dx9_43.dll 在内的组件对游戏和图形应用程序至关重要。该文件主要负责提供3D图形渲染…

手机折叠屏贴膜应用

折叠手机贴膜的主要难点在于其独特的可折叠设计。折叠屏的弯曲部分对贴膜材料提出了更高要求,需要材料具备足够的柔韧性和耐折痕性,以避免在折叠过程中产生裂痕或脱落。此外,贴膜过程中需要确保无气泡、无褶皱,且能完美贴合屏幕的…

GPU 与 GPU 服务器:科技璀璨之星,开启无限未来

今天咱们要来聊聊在科技领域中闪闪发光的 GPU 和 GPU 服务器。这可真是一对厉害的 “科技搭档”,正以其卓越的性能成为众多行业发展的强大动力源。 先来说说 GPU 吧。它呀,一开始是为了满足图形处理的高要求而诞生的。但随着科技不断进步,人…

从零到一:打造你的专属待办事项应用,探索 Windows 11 开发新境界

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

7、基于爬虫+Flask+Echarts+MySQL的网易云评论可视化大屏

基于爬虫FlaskEchartsMySQL的网易云评论可视化大屏 1、前言2、实现2.1 挑选想要采集的歌曲评论2.2 构建爬虫2.2.1 采集歌曲评论2.2.2 清洗数据入库 2.3 搭建flask框架2.4 数据传值2.5 完整代码&数据集获取 1、前言 本项目是基于requests爬虫flaskecharts搭建的网易云评论的…

WASM 使用说明23事(RUST实现)

文章目录 1. wasm是什么1.1 chatgpt定义如下:1.2 wasm关键特性: 2. wasm demo2.1 cargo 创建项目2.2 编写code2.3 安装wasm-pack2.4 编译 3.1 html页面引用wasm代码(js引用)3.2 访问页面4 导入js function4.1 编写lib.rs文件,内容…

应用案例 | Panorama SCADA助力巴黎奥运会:保障赛事协调与安全

谈到2024年最受关注的体育盛事,巴黎奥运会无疑是焦点之一。作为全球瞩目的顶级赛事,它不仅汇集了来自世界各地的精英运动员,还点燃了全球观众的热情。然而,组织如此大规模的活动绝非易事。从大量游客通过公共交通涌入,…

基于SSM的宠物猫狗商业系统设计与实现

前言 当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统宠物猫狗商业采取了人工的管理方法&#…

mfc之tab标签控件的使用--附TabSheet源码

TabSheet源码 TabSheet.h #if !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_) #define AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TabSheet.h : …

华为云低代码Astro Zero技巧教学7:打造实时更新的动态数据表

数字化经营的浪潮中,数据管理的高效与准确成为企业持续成长的关键。Astro Zero高级页面功能通过创新的表格视图编辑模式,实现了前端操作与后台数据的无缝同步,极大地提升了数据处理的效率和可靠性。 本次技巧内容:使用Astro Zero制…