异常和开发经验总结
异常和开发经验总结相关文章
拄杖忙学轻声码
希望学习的同时也能和大家交流分享技术
展开
-
Docker进入容器报:exec failed: unable to start container process: exec: “/bin/bash“ 解决
将 /bin/bash 换成 /bin/sh 执行方式,成功。制作镜像时使用了精简版,只装了sh命令,未安装bash。原创 2023-09-04 17:59:18 · 4001 阅读 · 0 评论 -
SpringBoot集成Nacos报:Read timed out、tried: java.net.SocketTimeoutException: connect timed out等问题
这里把 nacos 客户端和服务端版本保持一致(2.1.2),控制板不再报 Read timed out 等异常信息。1、可能是Nacos客户端与服务端版本不符导致的。Nacos服务端:v2.1.2。原创 2023-03-02 00:30:24 · 3576 阅读 · 2 评论 -
Mybatis Plus插入数据事务控制常见异常、报错问题,No value for key,Transaction is already completed,ResultSet is from UP
2、此错误是声明式事务和手动控制事务相冲突,如果在代码中有涉及到手动控制注入数据源事务管理Bean对象 DataSourceTransactionManager,如果出现上述问题,请开启声明事务:@Transactional(rollbackFor = {Exception.class})3、如果方法内部调用的保存或删除方法也走Spring事务管理、或者内部方法开启的有新的事务,那么内部方法也要开启声明式事务:@Transactional(rollbackFor = {Exception.class})原创 2023-02-20 05:25:06 · 3808 阅读 · 0 评论 -
SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常
2、设置 redis 服务端的配置文件 redis.conf 中 tcp-keepalive 的时间为60(单位秒)(TCP连接存活时间):tcp-keepalive 60。2、如果 tcp-keepalive 存活时间大于超时时间,存活时间还没有结束(连接还没关闭)就又创建新的连接,创建的连接多了就会远程主机强迫关闭现有连接。1、设置连接空闲超过 N(秒或毫秒)后关闭,0为禁用:redis.timeout: 60s(这里设置和tcp-keepalive的值一致)原创 2022-12-06 00:51:10 · 6371 阅读 · 0 评论 -
Java验证在 try 之前、之中的代码如果return或出现异常,那么 finally 是否还会执行
5、try、catch、finally 会按顺序从上往下执行。4、 try (外部)之前出现异常情况 finally 块中不会执行,整个程序终止了,不会向下继续执行。try (外部)之前出现异常情况 finally 块中不会执行,整个程序终止了,不会向下继续执行。2、 try 内部返回(return)情况 finally 块中也会执行。try 内部返回(return)情况 finally 块中也会执行。3、 try 内部出现异常情况 finally 块中也会执行。1、正常情况 finally 块中会执行。原创 2022-11-28 11:41:47 · 802 阅读 · 0 评论 -
解决谷歌浏览器(chrome)无法访问一些特殊端口地址的问题
web开发中,在使用谷歌浏览器访问本地或虚拟机服务地址,一些特殊的端口号会被谷歌浏览器默认为不安全的端口号,例如(6666、6000等),从而限制访问该端口地址。在目标栏,末尾处追加 --explicitly-allowed-ports=port1,port2,port3 参数。1、找到谷歌浏览器的应用程序安装目录,桌面图标右键属性,设置允许端口参数。2、执行命令,指定允许访问的端口号,多个用逗号隔开。【2】 允许端口之后。原创 2022-11-28 22:44:05 · 7547 阅读 · 0 评论 -
SpringBoot集成XXL-Job启动报非法反射WARNING: An illegal reflective access operation has occurred
1、排除 xxl-job 中的 groovy 重新引入即可。xxl-job-core版本:2.3.1。1、是 groovy 依赖的版本导致。原创 2022-11-27 04:33:30 · 657 阅读 · 0 评论 -
RabbitMQ消费端报:delivery acknowledgement on channel 5 timed out. Timeout value used: 1800000 ms. This t
【2】编辑 rabbitmq.conf 文件,如果没有此文件请创建名为 rabbitmq.conf 文件。【1】进入 rabbitmq 容器,cd 到 /etc/rabbitmq/ 目录。1、rabbitmq开启手动确认模式之后,但是在消费消息之后没有确认导致。2、在 rabbitmq 服务端的配置文件中,禁用或配置更长的超时时间。1、编辑 rabbitmq.conf 文件,在文件中添加如下内容。1、在消费端消费后,无论消费正常还是异常,都要ack确认。2、消息确认超时的间隔太短导致。原创 2022-11-25 14:48:45 · 4416 阅读 · 0 评论 -
RabbitMQ报:received the value ‘dead_direct_exchange_0‘ of type ‘longstr‘ but current is none
queue 队列已经存在,但是启动时试图设定一个 x-dead-letter-exchange 参数,这和服务器上已有的队列参数定义不一样,server 不允许所以报错。【1】交换机如果原先 Broker 中已经存在了,通过代码初始化改动的话可能也会出现此问题,需要注意这一点。在服务器管理界面,删除已有队列、重新 declare 即可。原创 2022-11-25 11:37:17 · 1911 阅读 · 0 评论 -
整合nacos配置中心启动报c.a.c.n.c.NacosPropertySourceBuilder: 101 - get data from Nacos error,dataId:xxx.yml
2、因为在 nacos-server 端开启了权限控制功能,所以项目配置中心和注册中心都需要明确指定用户名、密码、命名空间等,才可以正常访问读取。一般出现这个异常是用户名或密码错误、或者该用户没有对应的 namespace 权限导致的。1、在 nacos-server 端开启了权限控制功能。原创 2022-11-03 16:58:46 · 11031 阅读 · 1 评论 -
Maven:Failed to execute goal on project xxx: Could not resolve dependencies for project com.hkl...
1、由于子模块依赖父项目(被父项目管理),所有子模块编译或打包时会去本地仓库找父类的 pom 包,所以需要先把 parent 父类工程先安装到本地仓库或私有库。1、需要把 parent 工程,也就是父项目package是pom的那个工程先install一下。2、再 install 公用模块common。2、common公用模块被引用也是同理。3、正常编译打包子业务模块。原创 2022-08-27 02:25:51 · 1016 阅读 · 0 评论 -
MyBatis Plus Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory
1、报 java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory 错误,因为项目集成的是 Mybatis-Plus ,所以 MP 和 Mybatis 是冲突的,不可以同时出现。3、所以去掉 PageHelper 依赖,或者排除掉 mybatis和mybatis-spring 依赖。2、如果其他依赖中也有 mybatis 冲突,同样也需要排除。1、这里是 PageHelper 依赖冲突,需要排除。原创 2022-08-27 03:21:22 · 9804 阅读 · 3 评论 -
Hutool包下使用PinyinUtil获取汉字的拼音报错cn.hutool.extra.pinyin.PinyinException: No pinyin jar found! Please ...
1、使用 PinyinUtil 需要配合依赖第三方的拼音库包,所以除了需要导入 hutool-all 包以外,还需要导入如下依赖包。原创 2022-08-05 10:33:08 · 3448 阅读 · 0 评论 -
MySql字段时间(日期)类型报异常Data truncation: Incorrect datetime value: ‘2099-01-01 00:00:00‘ for column
数据库中时间类型的原因,导致这样的错误.datetime 以 YYYY-MM-DD HH:MM:SS 格式检索和显示DATETIME值。支持的范围为 1000-01-01 00:00:00到9999-12-31 23:59:59。而 TIMESTAMP 值支持的范围 1970-01-01 08:00:01到2038-01-19 11:14:07 储存,对于TIMESTAMP来说如果不在这个范围就会报这个错。mysql字段时间类型由 timestamp 改成 datetime 就好了。原创 2022-07-28 17:42:02 · 7489 阅读 · 0 评论 -
解决:Unable to find a match: mysql-community-server
安装前需要先禁用 mysql 模块,再安装启动就可以了。在网上找了一下,最后找到解决办法。原创 2022-06-26 14:17:40 · 4174 阅读 · 1 评论 -
解决Docker容器中无法使用vim命令
以上就是本文的全部内容,希望对大家的学习有所帮助。2、出现上述情况,需要更新 vim 指令。3、等待更新完毕之后,重新安装即可。1、提示找不到 vim 命令。原创 2022-06-26 02:34:06 · 10164 阅读 · 4 评论 -
Docker启动MySql容器Exited (1) 7 seconds ago问题解决
实际上这是运行之后的结果,但是正常情况来说,使用 docker ps 就可查看运行中的容器,但这个运行后需要通过 docker ps -a 才可以看见,-a 是代表查看所有包括没运行的,由此可见容器启动没有成功。1、之后发现是在 docker run 后面的运行挂载备份的参数缺失导致的,少提供了一项挂载备份目录 /devtools/mysqldata/mysql-files:/var/lib/mysql-files。,如果是mysql 5.x版本则不需要挂载此目录。原创 2022-06-25 08:43:10 · 6992 阅读 · 1 评论 -
yum解决Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs..
4、清除当前的 yum 源指令,重新缓存元数据。2、修改所有的 CentOS 相关的文件内容。1、进入yum的repo存储库目录。3、更新设置 yum 源为阿里镜像。5、验证是否可以 yum 安装。原创 2022-06-21 02:22:21 · 8958 阅读 · 0 评论 -
启动SpringBoot服务报Error running Application. Command line is too long. Shorten the command line via JAR
编辑配置主启动类,选择 JAR manifest 即可。原创 2022-04-18 16:22:23 · 1663 阅读 · 0 评论 -
SpringCloud服务之间调用,报异常Method has too many Body parameters: public abstract
SpringCloud 或 SpringCloud Alibaba 开发中微服务之间调用遇到问题:Method has too many Body parameters: public abstract。后来发现是因为微服务之间调用,方法的主体参数只能有一个,也就是以封装对象为类型的参数只能有一个,否则就会报此错误。基本数据类型的参数可以有多个。原创 2021-12-17 18:16:52 · 4259 阅读 · 0 评论 -
SpringBoot集成xxl-job执行器,控制台报Address already in use: bind
除了项目本身的端口,项目中配置的执行器的端口xxl.job.executor.port 也不能重复。排查了执行器配置类注册的执行器实例,也没问题。后来找到是执行器端口和项目端口一样导致的。原创 2021-12-15 11:09:46 · 1917 阅读 · 0 评论 -
项目启动报 Invalid bean definition with name 的原因及解决办法
SpringBoot项目启动,控制台报错:Invalid bean definition with name...首先要查看一下你的接口或者配置类,带有 @Component或@Configuration 的配置类是否被重复定义。原创 2021-12-15 10:48:01 · 27600 阅读 · 0 评论 -
实际开发中各项经验总结
方案二:先正常遍历处理当前提交的这批复选框信息,该新增新增、该修改修改,处理完成后,取出当前这批复选框的Id集合,然后删除当前主信息下除当前这批复选框的Id集合之外的复选框信息就Ok了,条件控制 delete from t_chekbox where bId=主信息Id and id not in (处理后当前这批复选框的Id集合)(3):最后的结果就是可退的二级账户信息,不存在于在途中的退款申请信息中,除当前主退款申请信息之外。3、如果是以逗号分隔的方式保存在主表字段中,这就容易的多,正常分隔保存即可。原创 2021-12-09 14:43:27 · 575 阅读 · 0 评论 -
项目中根据业务手动提交或回滚事务
2、使用手动控制事务管理,不需要使用声明式事务 @Transactional()1、如果程序不出异常,会正常提交。如果出异常,则会回滚。原创 2021-11-29 16:07:52 · 448 阅读 · 0 评论 -
The bean ‘xxx-xxx.FeignClientSpecification‘, defined in null, could not be registered. A bean with t
此错误是因为spring容器中存在相同名称的bean对象,在yml配置文件中配置代码。原创 2021-08-24 16:17:03 · 681 阅读 · 0 评论 -
nacos配置中心[NACOS HTTP-GET] The maximum number of tolerable server reconnection errors has been reache
此异常为 nacos服务地址 错误导致的,配置中心地址结尾不能带斜杠(切记)否则会报异常。将上图中的配置中心地址结尾处的斜杠去掉就可以正常读取了,注册中心地址结尾最好也不要带斜杠。原创 2021-08-19 18:22:10 · 41385 阅读 · 5 评论 -
java: 找不到符号 符号: 类 xxx
把被调用的模块安装到本地仓库,重新构建就解决了。模块之间引用类或者属性,报的此异常。原创 2021-08-19 17:21:32 · 998 阅读 · 0 评论 -
nacos和eureka的服务实例名称不能带下划线_ 否则gateway路由转发会找不到服务而报错
使用gateway时服务的名字(spring.application.name)不能加下划线,不然会找不到服务实例。2、eureka会报null 节点异常。1、nacos会报 未知主机异常。原创 2021-08-19 17:06:10 · 791 阅读 · 0 评论 -
swagger页面刷新报错:For input string: ““
剔除掉 swagger2 中的 swagger-annotations 和 swagger-models依赖包,重新导入更高版本。原创 2021-08-12 11:27:13 · 1104 阅读 · 0 评论 -
EasyExcel导出文件实体类加上@Accessor(chain=true)注解可能会出现问题
问题发现:在使用easyexcel(github.com/alibaba/eas…) 导出的时候,发现以前的实体类导出都很正常,但是现在新加的实体类不正常了,比对了发现,新加的实体类增加了@Accessor(chain = true)注解,我们的目的主要是方便我们链式调用set方法:new UserDto().setUserName("").setAge(10).........setBirthday(new Date());原因:easyexcel底层使用的是cglib来做反.原创 2021-08-01 13:43:25 · 784 阅读 · 0 评论 -
springboot错误: 找不到或无法加载主类(Could not find or load main class)
解决方案:点击右侧maven管理,在对应的微服务下点击展开Lifecycle双击clean即可。springboot项目启动微服务控制台打印此异常: 找不到或无法加载主类。原创 2021-07-29 18:07:24 · 4532 阅读 · 1 评论 -
Could not resolve placeholder ‘xxx‘ in value “${xxx.xxx}“
【代码】Could not resolve placeholder ‘xxx‘ in value “${xxx.xxx}“原创 2021-07-25 04:37:44 · 7621 阅读 · 0 评论 -
java.net.UnknownHostException: xxx服务名
异常描述:通过restTemplate方式调用Nacos注册中心的服务提供者,报错误信息找不到主机名的异常,无法通过服务名称解析,很明显是没有启用负载均衡导致的。解决办法:添加负载均衡注解@LoadBalanced。原创 2021-07-21 01:16:46 · 1066 阅读 · 0 评论 -
Feign调用时读取超时(Read timed out executing GET)解决方法
【代码】Feign调用时读取超时(Read timed out executing GET)解决方法。原创 2021-05-14 00:53:01 · 15009 阅读 · 1 评论 -
github下载慢的问题解决方式
其他浏览器都很慢不知道为何推荐使用2345加速浏览器下载,亲测速度很快,可以按照正常速度下载原创 2021-07-19 00:35:25 · 165 阅读 · 0 评论 -
巨坑:transport.TransportException:Cannot execute request on any known server
EurekaServer端配置,context-path配置为:/register。那么服务端对外暴露的注册地址就应该也带上/register。原创 2021-06-14 03:19:21 · 850 阅读 · 0 评论