【持续更新】SpringCloud 学习之异常解决办法总结

    xiaoxiao2025-01-07  59

    快速导航

    java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuildercom.jcraft.jsch.JSchException: Auth fail关于 alibaba nacos 注册成功无法查看服务问题、nacos 无法启动问题i.s.c.r.netty.NettyClientChannelManager : no available service 'null' found, please make sure registry config correctio.seata.common.exception.FrameworkException: can not register RM,err:can not connect to services-serverio.seata.common.exception.FrameworkException: connect failed, can not connect to services-server.java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8]com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens

    java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder

    原因: Springboot 与 Springcloud 版本冲突问题 解决: Springboot 与 Springcloud 版本对应关系可以去spring官网查看

    com.jcraft.jsch.JSchException: Auth fail

    Cannot clone or checkout repository

    原因: 无权限操作,检查用户名和密码 解决: 输入正确的用户名和密码,只有 uri 采用 https 的方式才需要配置用户名和密码,如下图所示: 关于 ssh 的配置参数官网: Git SSH configuration using properties

    关于 alibaba nacos 注册成功无法查看服务问题、nacos 无法启动问题

    原因: Spring Cloud 、Spring Boot 和 Spring Cloud Alibaba 版本不一致导致 **解决: ** 参考官网

    i.s.c.r.netty.NettyClientChannelManager : no available service ‘null’ found, please make sure registry config correct

    保证 seata.tx-service-group 值与 seata.service.vgroup-mapping 中的 key 一致,见如下截图

    io.seata.common.exception.FrameworkException: can not register RM,err:can not connect to services-server

    io.seata.common.exception.FrameworkException: connect failed, can not connect to services-server.

    解决:

    1. 查看nacos配置列表,seata配置是否已经导入成功 2. 查看nacos服务列表,serverAddr是否已经注册成功 3. 检查client端的registry.conf里面的namespace,registry.nacos.namespace和config.nacos.namespace填入nacos的命名空间ID,默认"",server端和client端对应,namespace 为public是nacos的一个保留控件,如果您需要创建自己的namespace,最好不要和public重名,以一个实际业务场景有具体语义的名字来命名 4. nacos上服务列表,serverAddr地址对应ip地址应为seata启动指定ip地址,如:sh seata-server.sh -p 8091 -h 122.51.204.197 -m file 启动时一定要指定启动ip,另外不要指定127.0.0.1 6. 查看seata/conf/nacos-config.txt 事务分组service.vgroupMapping.trade_group=default配置与项目分组配置名称是否一致 7. telnet ip 端口 查看端口是都开放,以及防火墙状态

    java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8]

    java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8] at io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessors(NettyRuntime.java:51) at io.netty.util.NettyRuntime.setAvailableProcessors(NettyRuntime.java:87) at org.elasticsearch.transport.netty4.Netty4Utils.setAvailableProcessors(Netty4Utils.java:83) at org.elasticsearch.transport.netty4.Netty4Transport.<init>(Netty4Transport.java:113) at org.elasticsearch.transport.Netty4Plugin.lambda$getTransports$0(Netty4Plugin.java:86) at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:186) at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:280) at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:128) at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:114) at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:104) at com.gridsum.zhmsapi.config.EsConfig.getTransportClient(EsConfig.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 70 common frames omitted

    解决办法: 在 bean 中 set 前加入下面代码或在启动类main方法最前加入

    System.setProperty("es.set.netty.runtime.available.processors", "false");

    com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens

    Exception in thread "main" org.springframework.web.client.RestClientException: Error while extracting response for type [class com.zsh.extension.model.ResponseBodyResult] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens at [Source: (PushbackInputStream); line: 1, column: 2] at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:119) at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:998) at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:981) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:741) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:674) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:583) at com.zsh.settlement.controller.SettBillController.main(SettBillController.java:67) Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens at [Source: (PushbackInputStream); line: 1, column: 2] at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:252) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:228) at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:104) ... 6 more Caused by: com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens at [Source: (PushbackInputStream); line: 1, column: 2] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712) at com.fasterxml.jackson.core.base.ParserMinimalBase._throwInvalidSpace(ParserMinimalBase.java:690) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipWSOrEnd(UTF8StreamJsonParser.java:2975) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:715) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4340) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4189) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3258) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:240) ... 8 more

    原因: restTemplete 不支持 gzip 解压

    解决办法:

    方案一:检查请求头中是否存在 Accept-Encoding : gzip ,如果有,可去掉

    方案二:检查 Nginx 是否配置了 gzip 压缩 json ,如果有,可去掉

    方案三:

    HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(); RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);

    参考: https://stackoverflow.com/questions/34415144/how-to-parse-gzip-encoded-response-with-resttemplate-in-spring-web

    最新回复(0)