Load Logback Configuration of Nacos fail, message: ‘void ch.qos.logback...(java.net.URL)‘ 的解决办法

问题概述

关于这个巨坑,是在架构新项目的时候遇到的,

使用 alibaba-nacos 来作为注册中心,

Spring Boot 3.3.1

在之前的项目架构中,使用的是Spring Boot 2.6.x的版本,

在新项目架构中,发现2.x版本的生态组件,要么停止维护了,要么是各种安全漏洞,

例如在Sprring Boot 2.6.x中的nacos-client 2.0.3,包括1个直接漏洞20个间接漏洞

以下是nacos-client 2.0.3的1个直接安全漏洞:

作为主架构师,果断选择了更新Spring Boot 3.3.1 ,进入到新的组件生态,

坑是一个接一个的踩,本问题是巨坑之一!

在启动新的项目时,编译通过!启动成功!

但,服务没有注册成功,也没有报错,

就是 nacos 注册不成功,也无错误日志打印!

在控制台日志里面也没有看到日志注册成功的信息,

只找到了Nacos的告警信息,

“ Load Logback Configuration of Nacos fail, message: 'void ch.qos.logback.classic.util.ContextInitializer.configureByResource(java.net.URL)' ”,

如下图:

解决办法

关于这个问题,之所以说是巨坑,没有错误日志可参考,就等于是研发需求,我要一个系统,具体什么系统,自己看着办!!!

于是乎,一个北师大工程师,一个电科大工程师,一个阿里10年老码农一起分析,

众说纷纭(分析过程,可以忽略):

1、网络问题:

  • 解释:客户端无法连接到Nacos服务器。
  • 解决:检查网络连接,确保Nacos客户端与服务器之间的网络通畅。

2、Nacos服务未启动:

  • 解释:Nacos服务端没有正确启动。
  • 解决:启动Nacos服务。

3、配置问题:

  • 解释:客户端配置错误,如IP地址、端口、命名空间或服务分组等。
  • 解决:检查并修正客户端配置。

4、防火墙或安全组设置:

  • 解释:防火墙或安全组规则可能阻止了Nacos客户端与服务器的通信。
  • 解决:调整防火墙或安全组规则,允许相应端口的流量通过。

5、日志级别设置:

  • 解释:日志级别设置得当,导致无法打印有用信息。
  • 解决:调整日志级别,查看详细错误信息。

6、DNS解析问题:

  • 解释:如果Nacos使用的是域名而非IP地址,可能存在DNS解析问题。
  • 解决:检查DNS解析配置,确保域名正确解析到Nacos服务器的IP地址。

7、版本不兼容:

  • 解释:客户端与服务器版本不匹配导致的兼容问题。
  • 解决:确保客户端与服务器的版本完全一致。

8、客户端依赖问题:

  • 解释:可能使用的Nacos客户端版本与服务器版本不兼容或依赖缺失。
  • 解决:检查并升级客户端依赖库,确保版本兼容。

经过全面分析,突然博主灵光乍现,去走查了以下Spring Boot的生态组件,

然后在Nacos的版本序列上作了一下比对,

问题找到了:

Spring Boot的本身管理了生态组件,这里却被Spring Boot给漏掉了,

问题找到了,解决办,手动配置Alibaba Nacos的版本对应即可:

        <!--nacos 服务注册/发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2023.0.1.2</version>
        </dependency>
        <!--nacos 配置中心来作配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2023.0.1.2</version>
        </dependency>

如下图:

到此,即可成功编译通过,成功启动服务,并注册成功了!

如下图:


好了,关于 Load Logback Configuration of Nacos fail, message: 'void ch.qos.logback...(java.net.URL)' 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:优快云 (Chinese Software Developer Network)
原        文:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/140526321
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException 是一个常见的错误,它表示在运行时找不到 ch.qos.logback.core.joran.spi.JoranException 这个类。这个错误通常是由于缺少相关的依赖或者依赖冲突导致的。 解决这个问题的方法有以下几种: 1. 确保你的项目中包含了 ch.qos.logback.core.joran.spi.JoranException 这个类所在的依赖。你可以通过在你的项目的构建文件(如 pom.xml 或 build.gradle)中添加正确的依赖来解决这个问题。可以参考中提到的使用 Maven Helper 插件来搜索并确认你的项目中是否存在该依赖。 2. 检查你的项目中是否存在依赖冲突。有时候不同的库或模块可能会引入相同的类,但版本不同,导致冲突。你可以通过 Maven Helper 插件或其他依赖分析工具来检查你的项目中是否存在依赖冲突,并解决这个问题。可以参考中提到的使用 Maven Helper 插件来进行依赖分析。 3. 确保你的项目的类加载器能够找到 ch.qos.logback.core.joran.spi.JoranException 这个类。有时候,类加载器可能无法正确地加载所需的类。你可以尝试重新构建你的项目,并确保你的类加载器能够正确加载所有的类。 总结一下,解决 Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException 的方法包括添加相关的依赖、解决依赖冲突以及确保类加载器能够正确加载所需的类。希望这些方法对你有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值