当前位置: 首页 > news >正文

《尚上优选》项目Bug记录

写在前面

本项目为该系列第二个项目,有一些问题如果没有在本文摘录,可以到
《云尚办公》项目 BUG记录 中查找是否有类似的解决方案。

(2024.3.24以下)

  1. (P11) 管理端前端node20版本启动报OpenSSL错误
  • 经典问题,把webpack文件夹替换可用版本即可。参考《云尚办公》项目 BUG记录
  1. (P12) 启动后端时,报错找不到mp的innerInterceptor类
  • 其实到这一步已经忘记最早出问题的是什么东西了。一开始怀疑是因为用的是jdk17而不是jdk8导致的,而且pom里面的jdk版本写的很混乱,所以就装了jdk8尝试运行。jdk8安装后,虽然所有pom都改到了8,项目sdk也改成了jdk1.8,但还是运行不了,显示需要java版本52,不支持在java61版本运行。然后调jdk环境变量,因为出现了java版本1.8但是javac版本17的问题,于是又去找教程重装了一下Java,然而也没有用。之后去云尚办公里面复制了一个maven编译为1.8的插件过来,这次是显示找不到Interceptor类。于是又重新搭了一次项目,然而还是把上面的错误又犯了一次。因为说是中不到mp的类,怀疑是之前用maven强制更新导致maven仓库出问题了,于是把仓库情空重新下载,还是没有用。之后和云尚办公里面的代码对比,发现springboot和mp的版本都是一样的,mp配置文件也是一样的,按说应该能运行。于是把出现interceptor报错的mp配置文件给注释掉了,结果居然运行成功了。之后再对比云尚办公的pom文件,发现尚上优选的pom里多了一个provided属性。注释掉后报错变为了没有数据库connector, 于是直接添加jdbc的依赖,问题解决,成功运行。
  1. 加入角色管理MVC后,加载项目显示找不到实体类
  • 一开始是手动加了一个实体类的依赖,但是没用,随后又优化一下项目结构(之前service-acl是parent的子模块,现在移到service下了),还是没用,检查实体类的编译文件,发现classes文件夹里面是空的。这下认定是编译出了问题。然后把lombok依赖注释掉,发现能编译了。于是又检查版本管理,发现这个项目里lombok是默认用插件的,在父工程里指定lombok版本下载就可以了。

(2024.3.24)

  1. 添加用户角色管理模块后,添加用户角色失败
  • 报错信息显示adminId作为必须参数未被注入,检查后发现Service里把参数写成了adminID.

(2024.3.25)

  1. 添加仓库api后,在前端进入仓库管理页面时报403但数据正常显示
  • 没加@CrossOrigin

(2024.3.26)

  1. 添加SKU查询后,前端显示Network Error,但是后端返回了数据
  • 后端controller没用加@CrossOrigin. 不知道为什么昨天的问题一样但是能显示数据,今天的不行

(2024.3.29)

  1. 活动模块加装后,前端访问报403
  • 没加@CrossOrigin.其次后端接口和前端不一致。
  1. 访问活动列表,后端mp报错找不到枚举类
  • 需要在yml配置文件里设置mp寻找enum类的路径
    (2024.3.29发现,3.30解决)
  1. 访问活动规则,除了第一个端午活动以外,访问其它规则都会报错
  • Jackson配置问题,需要把允许单值转换为数组打开
  1. mybatis的if标签失效
    -实验了一下,发现传字符串可以,但是传数字或者数据库里面没有的数据时就会报错。查看后台发现拼接的sql语句有问题,虽然没有if里面的语句体,但还是会显示where id in.
    缺少了后面本应该接上的括号和里面的参数值。应该是调用的product端口有问题,导致没有查到时不会正常返回数据。测试了一下发现确实是这个原因,product模块的api只会在查到数据时正常返回。此时只需要在调用完远程端口后,如果说空的,就直接方法返回空值,这样就不会引起接下来的sql语句错误。

(2024.3.30)

  1. 保存活动规则报错
  • 把activity_id写成了activityId

(2024.3.31)

  1. JWT类无法使用
    1. 新版本JDK(9以上)已经取消了javax.xml.bind.DatatypeConverter ,需要手动添加maven依赖。
    1. 需要在maven里把spring-boot-starter-web的provide属性取消,不再只是提供接口,而是提供能用的工具类。

(2024.4.4)

  1. 加装redisson后,项目启动显示在创建redisson单例的时候因为调用私有string而报错
  • 因为jdk9的新机制导致了以前的redisson配置方法失效,解决办法是把redisson升级至3.27.2
  1. Maven打包显示class lombok.javac.apt.LombokProcessor (in unnamed module @0x3c4e17ea) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x3c4e17ea
  • 非常要命,修了很久,一开始以为是使用了lombok的模块出问题,于是把这个模块的lombok依赖升级到了最新版,没用,按照gpt说的加了个插件也没用,然后编译发现隔壁模块也会报错,发现隔壁模块也加了lombok依赖,结果还是不行。再尝试去掉@Data注解手动写,结果发现效率太低。又尝试把jdk降级到1.8,结果又出了一堆问题。于是尝试分别编译(此时学会了要先install才能让别的模块依赖到本模块),发现model模块和common模块编译都没问题。然后gateway模块编译也能正常通过。之后编译service-client,这时出问题了,而且每次编译,报错的子模块是不一样的,也就是说不是某一个模块出了问题。于是在service-client里面加上了lombok依赖,此时果然能编译了。之后编译service模块也出了一样的问题,加上lombok依赖就行。

相关文章:

《尚上优选》项目Bug记录

写在前面 本项目为该系列第二个项目,有一些问题如果没有在本文摘录,可以到 《云尚办公》项目 BUG记录 中查找是否有类似的解决方案。 (2024.3.24以下) (P11) 管理端前端node20版本启动报OpenSSL错误 经典问题,把we…...

Flutter 中的 PopupMenuTheme 小部件:全面指南

Flutter 中的 PopupMenuTheme 小部件:全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架,它允许开发者使用 Dart 语言构建美观、响应式的移动、Web 和桌面应用。Flutter 的 Material 组件库中包含了丰富的 UI 组件,其中 PopupMenuButt…...

uni-app的网络请求库封装及使用(同时支持微信小程序)

其实uni-app中内置的uni.request()已经很强大了,简单且好用。为了让其更好用,同时支持拦截器,支持Promise 写法,特对其进行封装。同时支持H5和小程序环境,更好用啦。文中给出使用示例,可以看到使用变得如此…...

力扣524. 通过删除字母匹配到字典里最长单词

给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。 示…...

【代码随想录】【算法训练营】【第27天】 [39]组合总和 [40] 组合总和II [131]分割回文串

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day26, 休息的周末~ day 27,周一,库存没了,哭死~ 题目详情 [39] 组合总和 题目描述 39 组合总和 解题思路 前提:组合的子集问题&…...

解决 git 命令 Problem with the SSL CA cert (path? access rights?)

/etc/pki/nssdb 错误 运行命令: GIT_CURL_VERBOSE1 git clone git_repo_url 会输出详细错误信息 Cloning into fp_sdk... * Couldnt find host xxx.com in the .netrc file; using defaults * About to connect() to xxx.com port 443 (#0) * Trying 10.44.52.7…...

详解:重庆耶非凡的选品师项目有哪些优势?

在竞争激烈的电商市场中,重庆耶非凡科技有限公司凭借其独特的选品师项目,成功地在众多企业中脱颖而出。这一项目不仅体现了公司对市场趋势的敏锐洞察力,更彰显了其专业的选品能力和对消费者需求的深刻理解。 首先,耶非凡的选品师项…...

DSP28335模块配置模板系列——GPIO配置模板

在自己的电脑上构建出一套模块配置模板,可以大幅节省DSP程序开发时间,从而达到事半功倍的效果。对于初学者,掌握了模块配置,也就能实现大部分的单片机功能。 在DSP28335模块配置模板系列,不仅会给出GPIO、ADC、EQEP、E…...

【SringBoot项目中MyBatis-Plus多数据源应用实践】

文章目录 前言 一、Mybatis-Plus是什么? 二、多数据源是什么? 三、使用步骤 1. 新建一个SpringBoot项目 2. 引入必要的MyBatis架包 3. 新建两个数据库及两张表 3.3.1 新建数据库:DB_A,并创建一张数据表alarm_kind,以及…...

Android 图表开发开源库 MPAndroidChart 使用总结

1. 引言 电视项目中需要一个折线图表示节电数据变化情况,类比 H5 来说,Android 中也应该有比较成熟的控件,经过调研后,发现 MPAndroidChart 功能比较强大,网上也有人说可能是目前 Android 开发最好用的一个三方库了&a…...

手机号脱敏

手机号脱敏 // 手机号脱敏subTelephone(telphone) {let result telphone.substr(0, 4) **** telphone.substr(8);return result;},...

java基础篇(1)

JDK是什么?有哪些内容组成?JDK是Java开发工具包 JVM虚拟机: Java程序运行的地方 核心类库: Java已经写好的东西,我们可以直接用开发工具: javac、java、jdb、jhat.. JRE是什么?有哪些内容组成? JRE是Java运行环境 JVM、核心类库、运行工具 JDK,JRE&…...

2022年全国职业院校技能大赛高职组“信息安全管理与评估”赛项第三阶段任务书

第三阶段竞赛项目试题 本文件为信息安全管理与评估项目竞赛-第三阶段试题。根据信息安全管理与评估项目技术文件要求,第三阶段为夺旗挑战CTF(网络安全渗透)。 本次比赛时间为180分钟。 介绍 夺旗挑战赛(CTF)的目标…...

微信小程序蓝牙连接部分Android14调用wx.setBLEMTU协商低功耗最大传输单元失败解决方案(部分安卓14设置超过23就会报错)

1.解决方案的核心内容:第一次设置失败不要管,在complate函数里面继续往下连接,然后设置一个定时器每1秒钟在重新设置一次,肯定会成功的!!!!!!!&am…...

PDF格式分析(八十二)——电影注释(movie)

电影注释(PDF1.2及其以上版本),该注释包含图像和声音,声音通过扬声器进行播放,图像则显示在计算机屏幕上,如同一个视频播放器一样。当该类型注释被激活时,视频将被播放。 下表将显示电影注释的字典条目: 条…...

Opentracing 代码Demo

背景 OpenTracing 是一个提供标准化分布式追踪功能的API和工具。它的主要作用包括: 跨系统边界追踪请求流程:OpenTracing 允许开发者跟踪一个请求从开始到结束在整个分布式系统中的所有经过的点(包括异构系统),帮助理解系统中的请求流程和服务间的相互依赖。 性能分析和瓶…...

笔记93:关于 C++ 中的 Eigen 库

注意1&#xff1a;Eigen 是一个基于 C 模板的线性代数库&#xff0c;以支持在 C 中进行矩阵运算&#xff1b; 注意2&#xff1a;要在 C 中使用 Eigen&#xff0c;需要在在程序开始前要包含所需头文件路径&#xff1b; #include <Eigen> a a 基础用法汇总 定义向量 E…...

【微服务】部署mysql集群,主从复制,读写分离

两台服务器做如下操作 1.安装mysqldocker pull mysql:5.72.启动以及数据挂载 mkdir /root/mysql/data /root/mysql/log /root/mysql/conf touch my.conf //mysql的配置文件docker run --name mysql \ -e MYSQL_ROOT_PASSWORD123456 \ -v /root/mysql/data:/var/lib/mysql \ -v…...

【Java】设计一个支持敏感数据存储和传输安全的加解密平台

一、问题解析 在一个应用系统运行过程中&#xff0c;需要记录、传输很多数据&#xff0c;这些数据有的是非常敏感的&#xff0c;比如用户姓名、手机号码、密码、甚至信用卡号等等。这些数据如果直接存储在数据库&#xff0c;记录在日志中&#xff0c;或者在公网上传输的话&…...

iOS AVFoundation 音视频源码分享

引言 在现代移动开发中&#xff0c;音视频处理是一个不可忽视的重要领域。iOS 提供了强大的 AVFoundation 框架&#xff0c;使开发者能够轻松实现音视频录制、播放、编辑等功能。无论是创建高效的视频播放器&#xff0c;还是实现复杂的音频处理&#xff0c;AVFoundation 都能提…...

RavenDB全文搜索与NGram分析器的实际应用

引言 在现代的数据库系统中,全文搜索功能已成为一个不可或缺的部分。RavenDB,作为一个强大的NoSQL数据库,提供了丰富的文本搜索功能。特别是通过使用NGram分析器,可以大大提升搜索的灵活性和准确性。本文将深入探讨RavenDB的全文搜索机制,特别是NGram分析器在索引和查询时…...

Qwen3-TTS在VSCode中的开发调试技巧:从语音克隆到音色设计

Qwen3-TTS在VSCode中的开发调试技巧&#xff1a;从语音克隆到音色设计 1. 开发环境搭建 1.1 Python虚拟环境配置 在VSCode中开发Qwen3-TTS项目&#xff0c;首先需要配置合适的Python环境。推荐使用conda或venv创建独立的虚拟环境&#xff0c;避免依赖冲突。 # 使用conda创建…...

机械革命(MECHREUO)星耀玩机技巧

BIOS快捷键开机按F2FN健常锁FnEsc...

OpenClaw故障排查大全:Qwen3.5-9B镜像对接7类报错解决

OpenClaw故障排查大全&#xff1a;Qwen3.5-9B镜像对接7类报错解决 1. 开篇&#xff1a;当OpenClaw遇上Qwen3.5-9B-AWQ镜像 上周我在本地部署Qwen3.5-9B-AWQ镜像对接OpenClaw时&#xff0c;经历了从"模型加载失败"到"图片解析异常"的连环坑。这个支持图像…...

为自动化测试 Agent 设计 Harness 断点调试接口

为自动化测试 Agent 设计 Harness 断点调试接口:黑盒Agent的透明化手术刀 关键词 自动化测试Agent、Harness测试框架、断点调试、黑盒Agent透明化、状态检查协议、事件驱动调试、Agent可观测性堆栈 摘要 随着大语言模型(LLM)驱动的自动化测试Agent(如SeleniumGPT、Playwr…...

告别手动备份!用Power Automate Desktop自动备份桌面重要文件并生成日志

告别手动备份&#xff01;用Power Automate Desktop打造智能文件备份系统 每天下班前&#xff0c;你是否会习惯性地将桌面上的重要文件拖拽到U盘或移动硬盘&#xff1f;这种重复性操作不仅耗时耗力&#xff0c;还容易因疏忽导致文件遗漏。更糟糕的是&#xff0c;当系统崩溃或误…...

ADXL345嵌入式驱动开发:I²C/SPI寄存器配置与FreeRTOS中断集成

1. ADXL345加速度传感器库深度解析&#xff1a;面向嵌入式工程师的底层驱动开发指南ADXL345是Analog Devices公司推出的超低功耗、高分辨率&#xff08;13位&#xff09;、数字输出三轴加速度传感器&#xff0c;广泛应用于姿态检测、振动监测、跌倒报警、工业预测性维护及可穿戴…...

爱站网SEO工具包的站点诊断功能有什么用

爱站网SEO工具包的站点诊断功能有什么用 随着互联网市场的日益竞争&#xff0c;网站的SEO优化成为了每一个网站运营者必须面对的挑战。在这样的背景下&#xff0c;SEO工具包成为了网站运营者的得力助手。其中&#xff0c;爱站网SEO工具包的站点诊断功能尤为重要。这个功能到底…...

AI率85%降到15%的完整操作流程,一步一步来

AI率85%&#xff0c;这不是个小问题&#xff0c;但也不是无解的问题。我把整个处理流程拆成了具体步骤&#xff0c;照着来就行&#xff0c;没什么复杂的。 在开始之前&#xff0c;明确一件事 AI率85%的论文&#xff0c;靠手动修改降到15%&#xff0c;从理论上讲是可行的&…...

AngularJS Http详解

AngularJS Http详解 引言 AngularJS是一个流行的JavaScript框架,用于构建动态和响应式的web应用。在AngularJS中,HTTP请求是数据交互的重要组成部分。本文将详细介绍AngularJS的Http服务,包括其基本用法、高级特性以及如何处理异步请求。 AngularJS Http服务简介 Angula…...