《尚上优选》项目Bug记录

写在前面

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

(2024.3.24以下)

  1. (P11) 管理端前端node20版本启动报OpenSSL错误
  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依赖就行。
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值