《尚上优选》项目Bug记录
写在前面
本项目为该系列第二个项目,有一些问题如果没有在本文摘录,可以到
《云尚办公》项目 BUG记录 中查找是否有类似的解决方案。
(2024.3.24以下)
- (P11) 管理端前端node20版本启动报OpenSSL错误
- 经典问题,把webpack文件夹替换可用版本即可。参考《云尚办公》项目 BUG记录
- (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的依赖,问题解决,成功运行。
- 加入角色管理MVC后,加载项目显示找不到实体类
- 一开始是手动加了一个实体类的依赖,但是没用,随后又优化一下项目结构(之前service-acl是parent的子模块,现在移到service下了),还是没用,检查实体类的编译文件,发现classes文件夹里面是空的。这下认定是编译出了问题。然后把lombok依赖注释掉,发现能编译了。于是又检查版本管理,发现这个项目里lombok是默认用插件的,在父工程里指定lombok版本下载就可以了。
(2024.3.24)
- 添加用户角色管理模块后,添加用户角色失败
- 报错信息显示adminId作为必须参数未被注入,检查后发现Service里把参数写成了adminID.
(2024.3.25)
- 添加仓库api后,在前端进入仓库管理页面时报403但数据正常显示
- 没加@CrossOrigin
(2024.3.26)
- 添加SKU查询后,前端显示Network Error,但是后端返回了数据
- 后端controller没用加@CrossOrigin. 不知道为什么昨天的问题一样但是能显示数据,今天的不行
(2024.3.29)
- 活动模块加装后,前端访问报403
- 没加@CrossOrigin.其次后端接口和前端不一致。
- 访问活动列表,后端mp报错找不到枚举类
- 需要在yml配置文件里设置mp寻找enum类的路径
(2024.3.29发现,3.30解决)
- 访问活动规则,除了第一个端午活动以外,访问其它规则都会报错
- Jackson配置问题,需要把允许单值转换为数组打开
- mybatis的if标签失效
-实验了一下,发现传字符串可以,但是传数字或者数据库里面没有的数据时就会报错。查看后台发现拼接的sql语句有问题,虽然没有if里面的语句体,但还是会显示where id in.
缺少了后面本应该接上的括号和里面的参数值。应该是调用的product端口有问题,导致没有查到时不会正常返回数据。测试了一下发现确实是这个原因,product模块的api只会在查到数据时正常返回。此时只需要在调用完远程端口后,如果说空的,就直接方法返回空值,这样就不会引起接下来的sql语句错误。
(2024.3.30)
- 保存活动规则报错
- 把activity_id写成了activityId
(2024.3.31)
- JWT类无法使用
-
- 新版本JDK(9以上)已经取消了javax.xml.bind.DatatypeConverter ,需要手动添加maven依赖。
-
- 需要在maven里把spring-boot-starter-web的provide属性取消,不再只是提供接口,而是提供能用的工具类。
(2024.4.4)
- 加装redisson后,项目启动显示在创建redisson单例的时候因为调用私有string而报错
- 因为jdk9的新机制导致了以前的redisson配置方法失效,解决办法是把redisson升级至3.27.2
- 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:Eigen 是一个基于 C 模板的线性代数库,以支持在 C 中进行矩阵运算; 注意2:要在 C 中使用 Eigen,需要在在程序开始前要包含所需头文件路径; #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】设计一个支持敏感数据存储和传输安全的加解密平台
一、问题解析 在一个应用系统运行过程中,需要记录、传输很多数据,这些数据有的是非常敏感的,比如用户姓名、手机号码、密码、甚至信用卡号等等。这些数据如果直接存储在数据库,记录在日志中,或者在公网上传输的话&…...

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

Ubuntu开发入门之“制作Ubuntu rootfs根文件系统镜像“
Ubuntu开发入门之“制作Ubuntu rootfs根文件系统镜像” 问题描述解决方法1.首先从官网下载最基础的ubuntu base核心文件,ubuntu core.2.接下来就是制作一个基础功能的根文件系统3.修改可用源4.接下来就是挂载根文件系统,进行模拟安装应用5.根文件系统安装常用的工具和配置用户…...

基于FPGA的SystemVerilog练习
文章目录 一、认识SystemVerilogSystemVerilog的语言特性SystemVerilog的应用领域SystemVerilog的优势SystemVerilog的未来发展方向 二、流水灯代码流水灯部分testbench仿真文件 三、用systemVerilog实现超声波测距计时器测距部分led部分数码管部分采样部分顶层文件引脚绑定效果…...

【数据结构】详解堆的基本结构及其实现
文章目录 前言1.堆的相关概念1.1堆的概念1.2堆的分类1.2.1小根堆1.2.2大根堆 1.3堆的特点堆的实用场景 2.堆的实现2.1初始化2.2插入2.3堆的向上调整2.4删除2.5堆的向下调整2.6判空2.7获取堆顶元素2.8销毁 3.堆排序3.1实现3.2堆排序的时间复杂度问题 前言 在上一篇文章中&#…...

python无限弹窗的代码
一个简单的Python代码示例,用于在特定的时间间隔内显示一个简单的弹窗。这个代码使用了Python的tkinter库来创建一个简单的GUI窗口。 python import tkinter as tk import time def popup(): popup_window.deiconify() # 显示窗口 popup_window.wait_window() # 等…...

多线程新手村5--线程池
1.1 线程池是什么 线程诞生的意义是因为进程的创建/销毁开销太大,所以使用线程提高代码的执行效率;那如果想要进一步提升执行效率,该怎么办呢?有一个方法是使用线程池。 首先,什么是线程池:池就是池子&am…...

数据库 mysql 的彻底卸载
MySQL卸载步骤如下: (1)按 winr 快捷键,在弹出的窗口输入 services.msc,打开服务列表。 (2)在服务列表中, 找到 mysql 开头的所有服务, 右键停止,终止对应的…...

Meterpreter工具使用
Meterpreter属于stage payload,在Metasploit Framework中,Meterpreter是一种后渗透工具,它 属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注 入”理念实现的,它能够通过创建一个新进…...

第四讲 单片机STC89C52+RA8889代码移植范例(包含API接口)
本次介绍单片机STC89C52RA8889代码移植范例,该范例已将RA8889的API移植好了,下方提供下载地址。 硬件平台:89C52RA8889 采用SPI通信方式 (已测试通过) 上一讲已经阐述RA8889移植到51单片机的基本方法,本讲增加了API…...

QT 音乐播放器【一】 显示音频级别指示器
文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…...

【MATLAB源码-第220期】基于matlab的Massive-MIMO误码率随着接收天线变化仿真采用ZF均衡和QPSK调制。
操作环境: MATLAB 2022a 1、算法描述 1. 系统背景与目标 无线通信系统的发展极大地推动了现代通信技术的进步,从移动通信到无线局域网,甚至是物联网,均依赖于无线通信系统的高效和可靠性。在无线通信系统中,核心目…...