爬坑指南
在使用编程语言或者搭建环境时经常会碰到形形色色的异常,该专栏专门记录工作学习中碰到的各种异常及其解决方案。同志们可留言你碰到的问题,我会提供力所能及的帮助。
virgil.wang
苦学技术,精进业务
展开
-
【已解决】maven mapstruct 没有生成get set方法
maven引入mapstruct的问题排查。原创 2022-08-29 22:43:30 · 1330 阅读 · 0 评论 -
SpringMVC 校验注解@Size()不生效
1. 场景当前的伪代码如下...@Validate...XXController { ... ...(@RequestBody @Valid User user) ...}给 controller 类上加 @Validate 是个注意点。给 User 对象前面加 @Valid 是个注意点。User...@Valid@Size(min = 1, max = 20, message = "课程的数量必须在1-20")private List<Cou原创 2022-03-14 21:06:09 · 6489 阅读 · 0 评论 -
mac nacos 1.2.1 start.sh 启动失败
下载部署的zip包,解压后启动记得要在 bin 目录下sudo sh start.sh -m standalone启动失败,失败信息如下:start.out/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/Library/Internet Plug-Ins/Jav原创 2021-12-01 19:12:52 · 624 阅读 · 3 评论 -
Mac gradle 配置:权限不足
报错提示gradle: Permission denied解决方式chmod +x ${location}/gradle-4.9/bin/gradle原创 2021-11-10 23:41:25 · 1983 阅读 · 0 评论 -
easyexcel excel 列数据读取不到或判断失效
检查 @ExcelProperty(“key”) 和 excel 的列名是否一致。原创 2021-06-08 20:27:55 · 3935 阅读 · 0 评论 -
接口幂等性
1. 什么是幂等性?接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条,这就是违反了接口的幂等性。2. 需要幂等性的场景?表单重复提交表单页面“回退”再次提交微服务互相调用,由于网络问题,导致请求失败(feign 触发重试机制)队列服务的重复消费的问题(库原创 2021-05-09 11:31:10 · 790 阅读 · 0 评论 -
Idea 2020+ 在运行 Springboot 运行单个单元测试
1. 问题描述idea 2020 + 在运行 Springboot 单元测试,你的目的只想运行指定的单元测试,但实际上在启动的时候,他会默认回归一遍所有的单元测试,如果避免运行其它的单元测试,节省测试时间呢?2. 解决把它点亮...原创 2021-04-08 15:20:08 · 501 阅读 · 0 评论 -
FastJson 接口返回数据时间格式的转换
在返回对象中的时间属性上面加上该注解。 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone="GMT+8")原创 2021-04-01 16:52:18 · 742 阅读 · 2 评论 -
mac 安装 brew 镜像
选择任意镜像源安装即可。/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"亲测使用的中科院的。原创 2021-03-14 10:57:40 · 358 阅读 · 1 评论 -
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: #HY000
1. 场景描述多个服务不可用,经日志查询,是访问数据库时报错,其中有的服务启动报错,有的服务启动虽然成功,但访问数据失败。2. 错误描述程序代码报错SQLyog 访问数据也会报错3. 错误排查3.1 程序代码确认没有调整3.2 数据库版本确认没有调整3.3 数据库服务运行状态显示数据库连接过多磁盘被打满,导致无法进行数据写入,报错4. 解决方案修改数据库的目标节点增大磁盘空间或者整理磁盘空间5. 关于错误原因分析磁盘被打满,为什么会报出MySQLNo原创 2021-02-13 10:10:39 · 1207 阅读 · 3 评论 -
fastJson 序列化 驼峰命名转下划线命名
1. 场景在进行接口调用时,Java对象的属性命名一般是驼峰命名的,但第三方接口的入参对象是以下划线命名,这个时候进行交互时,就会匹配不到,导致接口调用失败。2. 解决方案使用注解即可。3. 对象序列化的代码示例Map<String,String> paramMap = JSON.parseObject(JSON.toJSONString(douyinProductUpdate), Map.class);marketPlaceCommonRequest.setParam(par原创 2021-02-13 10:05:49 · 5690 阅读 · 1 评论 -
思考:Java抛出异常后程序代码还会继续执行吗?
这里讨论的异常不包括内存或栈溢出的运行时异常。演示代码package edu.virigl.exception;/** * @author virgil * @datetime 2020/12/31 11:06 */public class ExceptionContinueRun { public static void main(String[] args) { System.out.println("程序运行中..."); try {.原创 2020-12-31 11:15:30 · 1449 阅读 · 3 评论 -
MySQL a-b,若B为NULL,结果为NULL不为a
场景描述如题目所示。解决方案在b上,用IFNULL函数,SELECT a-IFNULL(b, 0)。IFNULL(b, 0)的含义是若b为null,则转换成0进行运算。原创 2020-12-26 10:41:46 · 297 阅读 · 0 评论 -
springboot整合elasticsearch high client获取RestHighLevelClient失败
背景信息springboot version: 2.1.15elasticsearch version: 7.4.2Spring在查找RestHighLevelClient时抛出异常。java.lang.ClassNotFoundException: org.elasticsearch.action.admin.cluster.repositories.cleanup.Cleanu问题分析未导入Elasticsearch核心包解决方案 <elasticsearch.versio原创 2020-12-19 15:29:40 · 1563 阅读 · 1 评论 -
SpringMVC List<T> @NotEmpty @NotNull 入参校验未生效
场景描述controller.javapublic CommonResponse<Boolean> save(@Valid @RequestBody List<CatalogDto> catalogDtos)CatalogDto.java问题描述:@NotEmpty和@NotBlank在请求进入的时候并没有生效,虽然我在controller的方法内加入了@Valid或@Validator注解。问题分析直接对List集合进行校验的行为和对自定的DTO校验的行为其实是有原创 2020-12-08 13:06:18 · 4999 阅读 · 3 评论 -
MySQL 通过客户端连接失败 1130
错误描述使用root用户名无法通过客户端来访问到MySQL服务。推理MySQL8.0中,root用户不能够通过客户端访问到MySQL服务,是因为root的权限过大,存在权限安全隐患。我们可以通过root用户来创建权限较大的用户,再通过数据库客户端访问服务。创建用户及分配权限# 切换数据库use mysql;# 创建用户create user 'virgil'@'%' IDENTIFIED BY 'v*0n$kZR';# 分配角色GRANT ALL PRIVILEGES ON *.* T原创 2020-12-04 15:08:07 · 196 阅读 · 0 评论 -
RabbitMQ 开发时指定消息消费者的方式
在微服务架构中,由于服务众多,消息的消费者随机被不同的服务所消费。在本地开发时,如何确保本地消费消息,debug消费者逻辑至关重要。控制台配置virtual hostAdmin -> Virtual Hosts -> Add a new virtual host新增,如/virgil给新增的virtual host 分配全部权限程序启动时新增参数-Dspring.rabbitmq.virtualHost=/wl1...原创 2020-11-26 10:18:44 · 2466 阅读 · 0 评论 -
Springboot 启动报错 maven-surefire-plugin
Springboot 2.4.0 启动报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project rest-tools: There are test failures.Please refer to D:\knowledge\Java\rest-tools\target\surefire-reports for the individual原创 2020-11-24 16:38:04 · 1363 阅读 · 0 评论 -
vue ReferenceError: PubSub is not defined 解决方案
问题描述在检查vue项目时,发现控制台报错,错误标题如下ReferenceError: PubSub is not defined解决方案npm install --save pubsub-jsue.prototype.PubSub = PubSub原创 2020-11-22 12:53:01 · 3851 阅读 · 4 评论 -
spring cloud gateway routes加载顺序的研究
1. 环境说明spring cloud gateway版本说明:Spring cloud gateway 版本2.1.5.RELEASE服务注册发现构件:nacos2. 配置和问题说明routes配置文件配置的方式样例:问题说明:当访问接口URL以/api/product/开始时,路由会不时的指向ID为admin_route的路由,并非是上个路由product_route。这与我们的期望不一致,导致接口请求产生404错误。所以这里我得出一个结论,靠route的书写顺写是不能确保路径匹配顺序的原创 2020-10-10 14:01:17 · 9331 阅读 · 7 评论 -
Java -运算符+引起的NullPointerException
编写的代码在uat运行,发现发生NPE。经检查,确定是运算符+引起的,这让我匪夷所思,但接下来的代码验证了我的猜想:/** * @author Virgil.Wang */public class AddSymbolTest { public static void main(String[] args) { Integer m = 10; Integer n = null; System.out.println(m); Sy原创 2020-10-09 15:09:44 · 146 阅读 · 0 评论 -
windows 10 9001端口被占用
windows 10 9001端口被占用Intel(R) Graphics Command Center Service会占用本地的9001端口,为了hybris的顺利启动,暂时将它停止,并将之调整为手动启动。调整方式如下图:原创 2020-09-17 17:27:40 · 4073 阅读 · 2 评论 -
IDEA 2020 导入maven项目spring等jar找不到
按照如图操作后在ternimal中输入mvn clean install原创 2020-09-11 23:01:15 · 476 阅读 · 0 评论 -
IDEA properties文件中文显示异常
1.首先我们的IDEA文件编码一般都修改为utf-8(setting–>file encodings—>Global Encoding 和 Project Encoding 都设置为UTF-8)2.对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。...原创 2020-09-03 14:03:04 · 402 阅读 · 0 评论 -
Git .gitignore 不起作用的解决办法
解决方法的原理:.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方案:git rm -r --cached .git add .git commit -m "update .gitignore"...原创 2019-05-22 10:54:47 · 1168 阅读 · 0 评论 -
git push reject 解决方案
首先是你的项目中有和和历史不符的东西Push rejected: Push to origin/master was rejected推拒绝:推送到起源/主人被拒绝直接是解决办法,直接打开你要上传代码的文件夹位置鼠标右键git Bash Here然后直接下面两行命令解决问题git pull origin master –allow-unrelated-histories git pus...原创 2019-05-22 10:55:52 · 12745 阅读 · 0 评论 -
renren-fast/renren-generator 导入idea显示程序包找不到
idea版本2020.1 X64问题场景描述在把renren-fast或renren-generator导入到idea后,maven导入jar包都正常,但是idea始终找不到对应的jar,在build时抛出的异常如下所示:问题分析IDEA启动程序按钮和maven的build使用的jar包环境不一样解决方案Settings搜索Runner,勾选delegate ide build/run actions to maven...原创 2020-07-28 23:40:38 · 1622 阅读 · 3 评论 -
node启动项目报错
node 启动项目报错一、sass引起的错误1、启动npm run dev错误信息Node Sass does not yet support your current environm ent: Windows 64-bit with Unsupported runtime2、解决方案不用改变node的版本,升级node-sass即可# 卸载node-sassnpm uninstall --save node-sass# 清楚缓存npm cache clean -f# 升级no原创 2020-07-24 18:11:44 · 797 阅读 · 0 评论 -
tk.mapper selectOne方法使用注意事项
1、问题背景在springboot 2.1.10中引入tk.mapper,自动生成mapper文件。当我在调用mapper.selectOne(T)的时候,我发现当T的属性值均为null的时候,这个方法会遍历整张表,对于这个问题我产生了疑惑?2、追究mybaits的源码一直以来我没有仔细研究,仅仅停留在使用的程度,惭愧。这个问题一开始让我摸不到头脑,也不知道为什么会发生这种问题。当我准备绕过...原创 2020-04-03 13:47:11 · 10292 阅读 · 0 评论 -
springboot jackson时间和数据库查询的时间不一致
1、当前的关于jackson的配置文件application.yml jackson: date-format: yyyy-MM-dd HH:mm:ss1.1 问题描述数据库查询出来的时间为接口返回的数据可以看出,接口返回的数据和数据库查询出来的相差8个小时。这个时候考虑到时区。1.2 问题解决 jackson: date-format: yyyy-MM-d...原创 2019-09-06 11:17:13 · 2100 阅读 · 0 评论 -
客户端和服务端乱码问题
客户端和服务端乱码问题解决方法一: 在服务端的servlet类中doGet()或者doPost(){取决你用到了哪种方式}中书写请求和相应的编码格式: 缺点:对于多个servlet项目,要在每个servlet中都书写以下代码“` request.setCharacterEncoding(“utf-8”); response.setContentType(“text/html;charset=原创 2016-07-08 19:38:15 · 800 阅读 · 0 评论 -
MySQL6.0的连接异常
解决问题原来新版的驱动配置有些变化:url连接必须设置时区MySQL Connector/J 5.x (旧版连接)jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8MySQL Connector/J 6.x (新版连接)jdbc.url=jdbc:mysql:///test?se原创 2016-11-30 21:22:44 · 371 阅读 · 0 评论 -
Bootstrap col-xx-x失效或未按预期执行解决方法
&lt;div class="row"&gt; &lt;div class="col-xs-12 col-md-8 head"&gt;.col-xs-12 .col-md-8&lt;/div&gt; &lt;div class="col-xs-6 col-md-4 head"&原创 2018-02-23 18:16:02 · 5830 阅读 · 0 评论