异常
一只小小狗
大家好我是练习时长2年半的程序员
展开
-
element cannot be mapped to a null key
这个错误是因为你试图使用 null 作为 Map 的键,这在 Java 中是不允许的。在你的代码中,item.get(“XXX”) 可能返回 null,这就导致了这个错误。要解决这个问题,你可以在使用 item.get(“XXX”) 之前检查它是否为 null。如果为 null,你可以返回一个默认值,以避免使用 null 作为键。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-27 11:07:59 · 11981 阅读 · 0 评论 -
org.activiti.engine.ActivitiIllegalArgumentException: Variables of type ByteArray cannot be used to
如果你在查询中使用了 ByteArray 类型的变量,Activiti 就会抛出这个错误。你应该检查你的代码,确保你没有尝试使用 ByteArray 类型的变量进行查询。如果需要,你应该将 ByteArray 转换为 Activiti 支持的其他类型,然后再进行查询。Activiti 是一个工作流引擎,它允许你在流程中使用变量。然而,Activiti 不支持使用 ByteArray 类型的变量进行查询。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-26 17:35:39 · 1019 阅读 · 0 评论 -
Cause: java.sql.SQLException: errCode = 2, detailMessage = 31434 have no queryable replicas. err: 31
检查数据库连接:你需要确保你的应用程序可以访问网络,并且可以连接到数据库。检查SQL语句:你需要确保你的SQL语句是正确的,并且可以在你的数据库中执行。检查数据库配置:你需要确保你的数据库配置正确,包括数据库地址、端口、用户名、密码等。你可以在你的应用程序的配置文件中检查这些配置。检查数据库状态:你需要确保你正在尝试查询的数据库副本正在运行,并且状态正常。你可以使用数据库管理工具来检查数据库的状态。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-11 15:24:29 · 1781 阅读 · 0 评论 -
git报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
命令来删除 known_hosts 文件中这个主机的旧公钥,然后再次连接这个主机,SSH 客户端会将这个主机的新公钥保存到 known_hosts 文件中。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。也就是SSH密钥或者SSH证书发生了变化。原创 2023-12-07 14:24:28 · 2069 阅读 · 0 评论 -
Type definition error: [simple type, class xxx.xxx.xxx]; nested exception is com.fasterxml.jackson.d
这个错误是因为 Jackson 试图将 JSON 数据反序列化为 XXX类的实例,但是 XXX是一个接口或抽象类,Jackson 不知道应该实例化哪个具体的类。一种解决方法是创建一个 XXX 的具体实现类,并告诉 Jackson 使用这个类来反序列化 JSON 数据。你可以使用 @JsonDeserialize 注解来实现这个目标。// ...// 实现 HistoricProcessInstance 接口的方法我的Github地址。原创 2023-12-04 17:24:02 · 2441 阅读 · 0 评论 -
Java项目无法启动排查
把它保存为一个.sh文件,比如clean_log.sh,然后赋予它可执行权限,比如chmod +x clean_log.sh,然后把它添加到crontab中,比如crontab -e,然后在文件末尾添加一行,比如0 0 * * * /path/to/clean_log.sh,这样就可以每天凌晨执行一次清理日志的脚本了。我的日志文件存放在/usr/local/tomcat/logs下,文件名以.log结尾,我想保留一个月的日志文件,把清理日志的脚本设置成每天执行一次。原创 2023-04-20 10:29:51 · 2085 阅读 · 0 评论 -
数据库锁表原因、排查、解决
CDC 全量同步锁表问题是指在使用 CDC 技术进行数据库同步时,为了保证数据的一致性,需要在全量同步阶段对源数据库的表或者整个数据库进行加锁,防止在同步过程中发生数据的变更。当多个事务处理对多个资源同时访问时,若双方已锁定一部分资源但也都需要对方已锁定的资源时,无法在有限的时间内完全获得所需的资源,就会处于无限的等待状态,从而造成其对资源需求的死锁,导致锁表。例如在 MySql 操作一张大表,利用 alter 语句修改或新增字段的时候,恰巧有一个长事务(包括读)在操作此表,会触发修改等待,造成锁表。原创 2023-04-19 14:14:14 · 5137 阅读 · 0 评论 -
maven下载jar包失败或无法拉去最新的依赖
不勾选 Always update snapshots,那么在 maven 服务器上拉取依赖包的时候,都是自动默认拉取正式版本的依赖包;但是如果勾选了,则会去查看依赖包的对应快照版本,并且会定期去看快照版本有没有进更新。因为快照版本是可能存在一定 bug 的,它不断进行更新,万一这一版本的依赖包存在问题,你的程序就可能崩了;使用maven install时需要下载jar包,有时有些jar包只下载了一半,运行程序时会报LOC错误,这个时候发现本地仓库的jar包里出现了一些后缀为in-progress的文件。原创 2023-04-07 17:02:33 · 3737 阅读 · 0 评论 -
java.nio.charset.MalformedInputException: Input length = 1或Input length = 2
改变你的编码格式改为UTF-8,如果还不行,那就是你的配置文件里面有汉字,注释也算,你可以把你所有配置文件看一下,把汉字去掉就ok了。是你项目启动时加载的配置文件。编译时的编码 这里就是你运行项目,会给你的文件进行编码。是因为配置文件里面有中文或者是你的编码格式不正确导致。如果是聚合项目就在最高级父类POM加入。原创 2023-04-07 16:30:29 · 812 阅读 · 0 评论 -
Clickhouse “Too many simultaneous queries in clickhouse“
Clickhouse中的同时查询太多了。原创 2023-01-05 15:59:20 · 539 阅读 · 0 评论 -
ClickHouse ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 210, host:
错误:Exception in thread “main” java.lang.RuntimeException: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 210, host: 192.168.0.200, port: 8123;默认情况下,clickhouse只能内外访问,设置外网访问时,修改config.xml。找到clickhouse配置文件路径。原创 2022-11-14 16:22:48 · 3056 阅读 · 0 评论 -
error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1or2
不用怀疑大概率是编码的问题,就是你向linux传入的或者yaml文件本身格式问题,需要转换成UTF-8 with no bom的。notepad++直接修改该文件的格式。原创 2022-11-14 15:08:35 · 303 阅读 · 0 评论 -
es-head连接Elasticsearch没反应和新建索引没反应
1、连接Elasticsearch没反应,处理方法修改Elasticsearch配置文件(yml)要到部署的地方修改vendor.js的内容(我这里是用docker容器部署的es-head)修改后es-head网页刷,然后再新建索引发现就可以新建了。修改前需要在镜像中安装vim。2、新建索引没反应(406)原创 2022-11-13 16:53:21 · 937 阅读 · 0 评论 -
(JDK SPI机制)ServiceLoader.load无法加载类
创建Directory时用点号隔开了 META-INF.services ,结果META-INF.services 整个变成了文件夹名称。JDK SPI机制,没有办法进行加载到我们的实现接口类。目录时,将这个两个层级当作一个层级创建了。在严格遵守SPI 使用场景的情况下。原创 2022-11-07 13:39:39 · 1065 阅读 · 0 评论 -
类文件具有错误的版本 61.0, 应为 52.0
文件中提示,当前JDK8版本应该为Spring5。如果使用了Spring6最低JDK版本为17.JDK版本和Spring版本不匹配。2.降低spring版本。原创 2022-11-07 13:35:20 · 3194 阅读 · 0 评论 -
java.lang.ClassNotFoundException
类没有找到属于检查异常,在项目启动时候检查不到该类。1.没有正确的导入Jar。原创 2022-11-07 13:26:40 · 1931 阅读 · 0 评论 -
target\surefire-reports for the individual test results
这是因为测试代码时遇到错误,它会停止编译。只需要在pom.xml的里添加以下配置,使得测试出错不影响项目的编译。这里设置忽略测试失败。原创 2022-11-07 12:42:16 · 1569 阅读 · 0 评论 -
Lombok报错:class lombok.javac.apt.LombokProcessor
Ctrl + Alt + Shift + S快捷键打开Project Structure。lombok版本和jdk版本不匹配。在pom坐标上修改lombok版本。比如将jdk19变为JDK1.8。原创 2022-11-07 12:31:46 · 6904 阅读 · 0 评论 -
nexus启动不了(LinuxOrWindows)
@toc在bin目录下使用命令启动项目,无法运行,也没有报错日志,默认端口8081也没有启动。尝试使用日志没有报错,并且8081端口被启动了,调用http://localhost:8081即可如有错误欢迎指正原创 2022-11-07 12:26:33 · 1841 阅读 · 0 评论 -
解决Nexus自启动JDK版本报错问题No suitable Java Virtual Machine could be found on your system
service nexus错误信息为:No suitable Java Virtual Machine could be found on your system.The version of the JVM must be at least 1.8 and at most 1.8.Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.修改在nexus对应的bin目录下的nexus文件:加入参数:然后启动,解决。如有错误欢迎指正原创 2022-11-06 23:37:42 · 918 阅读 · 0 评论 -
Error:java: Annotation processing is not supported for module cycles.
错误:java:模块循环依赖问题。原创 2022-11-06 23:06:25 · 626 阅读 · 0 评论 -
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:Unrecognized field
Causedby:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:Unrecognized field “xxx”直译大概是无法识别的属性异常。定位异常,在反序列化创建对象时。也就是说在把json转化成实体时,有字段不属于该实体中。原创 2022-11-04 18:10:25 · 1142 阅读 · 0 评论 -
Mysql数据库连接失败SSLException: Unsupported record version Unknown-0.0(连接其他服务器MysqlService)
useSSL=false 关闭SSL。mysql版本:5.7.*jdk版本:1.8.*原创 2022-09-09 10:24:07 · 2520 阅读 · 0 评论 -
mybatis-plus 分页后没有数据问题(超过当前数据量的页)
这是因为Mybatis-plus 在设计的时候就如果查询的页数没有数据就不会返回,也不会提示。我查询接口(当前数据表里有10条记录 我设置page为2页,当前一页大小为10)然后查询,返回结果为空。原创 2022-08-29 18:23:29 · 2592 阅读 · 1 评论 -
连接OJDBC报错:Got minus one from a read call
Got minus one from a read call有很多种不同的可能性PING 一下数据库 看看是否存活有很多种不同的可能性可能是账号密码不对可能是用户被列入黑名单数据库连接数上限等里面往往会打印到具体的报错信息,只需要根据报错信息进行解决即可。errorCode 17002, state 08006查询oracle错误代码17002 io异常:read timeout或需要重启或者需要增加连接数PING 一下数据库 看看是否存活可以看到是存活的。那么连接超时就原创 2022-05-30 16:38:36 · 1165 阅读 · 0 评论 -
Unrecognized VM option ‘’ Error: Could not create the Java Virtual Machine. Error: A fatal exception
Unrecognized VM option ‘XXX’ Error: Could not create the Java Virtual Machine. Error: A fatal exception以下是在 JDK 9 中(及以后)不再工作的 50 个运行命令。检查下你是否在命令行和启动脚本中使用了这些选项。比如 -XX:+PrintGCTimeStampsAdjustConcurrencyCMSCompactWhenClearAllSoftRefsCMSDumpAtPromotion原创 2022-05-11 14:02:56 · 3904 阅读 · 0 评论 -
IDEA Cannot Resolve Symbol
IDEA Cannot Resolve Symbol1、检查项目的pom文件,是否必要的依赖都写清楚了;2、是否使用自己的私有库3、依赖添加正确后,检查本地的类有没有下载下来,一般是找“C:\Users\Administrator.m2\repository”这个路径下有没有相应的jar包,如果没有的话,就在编译器中打开”Maven Projects “标签,先进行clean一下,在执行install4、File - Project Structure - Project SDK,看看SDK有没有选转载 2022-05-10 16:28:49 · 364 阅读 · 0 评论 -
linux下 boot.web.server.WebServerException: Unable to create tempDir. java.io.tmpdir is set to /tmp
linux 下org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to create tempDir. java.io.tmpdir is set to /tmp原因确定 和 解决方案1. 磁盘已满2. springboot创建原创 2022-05-09 15:46:09 · 1562 阅读 · 0 评论 -
idea Error: Module not specified , idea springboot 项目无法启动
idea Error: Module not specified解决问题方案一方案二 最直接一般都是这个问题。方案三idea springboot 项目无法启动时,点击下列按钮发现未指定模块,解决问题方案一直接指定模块方案二 最直接一般都是这个问题。删除Idea文件,重新生成即可解决。方案三直接添加一个模块如果在这里找不到模块,说明module信息丢失了,我们可以点击File -> Project Structure -> Modules查看模块信息。如有原创 2022-05-09 11:02:10 · 6673 阅读 · 0 评论 -
运行jar包报 “XXX.jar中没有主清单属性”
解决方式2种主要原因是无法找到入口类第一种 在MANIFEST.MF中间中强制指定第二种 直接在POM中添加plugin依赖<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactI原创 2021-07-19 11:25:21 · 1118 阅读 · 0 评论 -
druid连接泄漏GetConnectionTimeoutException: wait millis 60000, active 5, maxActive 5, creating 0
连接泄漏GetConnectionTimeoutException: wait millis 60000, active 5, maxActive 5, creating 0druid中maxActive:5initialSize:5当活动的连接数与最大连接数相同,连接池用完了,在等待60秒后,没有新连接可用,然后超时了。当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了。比如Connection connection = jdbcTemplate.getDataSource().原创 2022-04-24 15:41:42 · 5545 阅读 · 0 评论 -
CommitFailedException异常处理和预防
CommitFailedException异常处理和预防1.常见场景 max.poll.interval.ms超时1.1解决方案2.特殊场景 StandaloneConsumer独立消费者和消费者组同时使用CommitFailedException: Consumer 客户端在提交位移时出现了错误或异常,而且还是那种不可恢复的严重异常。当然1.常见场景 max.poll.interval.ms超时当消息处理的总时间超过预设的max.poll.interval.ms 参数就会发生Commit原创 2022-04-18 20:04:39 · 1974 阅读 · 0 评论 -
Subscription to topics, partitions and pattern are mutually exclusive java
订阅主题、分区和模式是相互排斥的Subscription to topics, partitions and pattern are mutually exclusive原因assign是手动分配分区而subscribe是自动分配分区两者API调用不能同时使用Kafka手动分区分配assign(Collection)不能和自动分区分配subscribe(Collection, ConsumerRebalanceListener)一起使用解决方案两者使用一者即可 if (Str原创 2022-04-11 17:34:47 · 2320 阅读 · 0 评论 -
(linuxES)max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]lasticsearch用户拥有的内存权限太小,至少需要262144;解决:在root用户下执行sysctl -w vm.max_map_count=262144# 查看结果sysctl -a|grep vm.max_map_count# 会显示vm.max_map_count = 262144这个缺点就原创 2022-03-21 20:02:18 · 685 阅读 · 0 评论 -
(linux运行es)could not find java in bundled jdk at /opt/elasticsearch/elasticsearch-8.1.0/jdk/bin/java
could not find java in bundled jdk at /opt/elasticsearch/elasticsearch-8.1.0/jdk/bin/java当出现这个问题的时候会以为jdk有问题输入 java -version可以发现,jdk活的很健康。解决这是因为在root账户下不能启动es1.创建新用户essudo adduser es#设置密码sudo passwd es2.对es用户授权# 将此目录下授权给 es用户sudo chown -R es:原创 2022-03-21 19:57:40 · 5292 阅读 · 1 评论 -
全局异常处理?如何正确使用?
全局异常处理使用中的问题不在业务代码层面考虑异常处理,仅在框架层面粗犷捕获和处理异常。建议Controller层返回给用户友好信息,而不再Service业务中捕获。如果在Service 层捕获,往往涉及数据库事务,否则事务无法自动回滚。捕获了异常后直接生吞(无法找到BUG)不记录不抛出,导致无源可查丢弃异常的原始信息这个问题下一班建议先写入log日志,在捕获的同时就开始写入日志。catch (IOException e) {log.error("文件读取错误", e);thro原创 2022-03-09 23:54:14 · 281 阅读 · 0 评论 -
List.subList 进行切片操作导致 OOM
当使用List中的切片操作时,导致内存溢出错误。定义一个名为 data 的静态 List 来存放 Integer 的 List,也就是说 data 的成员本身是包含了多个数字的 List。循环 1000 次,每次都从一个具有 10 万个 Integer 的List 中,使用 subList 方法获得一个只包含一个数字的子 List,并把这个子 List 加入 data变量: private static List<List<Integer>> data = new A原创 2022-03-05 20:13:36 · 920 阅读 · 0 评论 -
关于反序列化时抛出java.io.EOFException异常
反序列化时抛出java.io.EOFException异常问题描述:在反序列化对象时,对象IO流将文件的全部类反序列化之后,始终会抛出java.io.EOFException.(想把序列化的对象一个一个拿出)原因:java API文档中对于反序列化对象时使用的java.io.ObjectInputStream类的readObject()方法的描述有一句话是"该方法始终会抛出异常",也就是说该异常无法避免的.案例代码 ObjectInputStream ois2 = null;原创 2022-03-04 17:11:35 · 4265 阅读 · 0 评论 -
Arrays.asList()的三个坑
1.不能直接使用 Arrays.asList 来转换基本类型数组 int[] arr2 = {1, 2, 3}; List list2 = Arrays.asList(arr2); System.out.println(list2 + ":"+list2.size());可以看到这里list存储的是一个 Int类型的数组,而不是将其中的分别进行存储1.1debug点开内部代码发现非基本类型的存储后,在转化过程中变成了 分开的数组基本类型在 转化原创 2022-03-03 21:41:21 · 364 阅读 · 0 评论 -
数值溢出的问题,如何监控数值溢出?(java)
1.数值溢出问题当定义一个long给他赋值long i = Long.MAX_VALUE+1;在这个基础上+1会直接变成负数-9223372036854775808同样的几种基本类型都有这样的情况,数据不对也不会提示我们,并没有什么异常抛出。2. Math.addExact()监控溢出,抛出异常 long i = Long.MAX_VALUE; System.out.println(Math.addExact(i,1)); 会报出长度溢出3 BigI原创 2022-03-03 20:41:44 · 453 阅读 · 0 评论