当前位置: 首页 > 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 都能提…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...