java.lang.NoSuchMethodError:no drect method<init>问题排查

java.lang.NoSuchMethodError:no drect method问题排查

首先要明确,这个问题的产生是由于程序当中的内容(库也好,代码也好)和系统当中的不一致。

那就要根据问题上边错误的详细信息,比对报错位置文件,都更新到相同版本(不一定是版本不同,但肯定是内容上不同)

今天封装了一个jar包供给应用层使用,调用的时候发现,包中所有接口都好用,只有一个接口每次调用就报上边的错误,排查以后发现,应用层未更新接口类到最新,导致变量不同。

以上为杂记,只是思路,每个人问题都不一样。

本人萌新,欢迎探讨。

这个错误信息通常出现在使用SLF4J和Log4j进行日志记录时,表示在运行时找不到指定的方法。具体来说,`java.lang.NoSuchMethodError: org.apache.logging.slf4j.Log4jLoggerFactory: method <init>()V not found` 意味着在`org.apache.logging.slf4j.Log4jLoggerFactory`类中找不到无参构造方法。 这种情况通常由以下几个原因引起: 1. **版本不兼容**:使用的SLF4J版本和Log4j版本不兼容。确保你使用的SLF4J版本和Log4j版本是相互兼容的。 2. **类路径冲突**:类路径中存在多个版本的SLF4J或Log4j库,导致加载了错误的类。 3. **缺少依赖**:缺少必要的依赖库,导致类文件未正确加载。 解决方法如下: 1. **检查版本兼容性**:确保你使用的SLF4J和Log4j版本是兼容的。可以参考官方文档或Maven/Gradle配置文件。 2. **清理类路径**:确保类路径中只存在一个版本的SLF4J和Log4j库。可以通过`mvn dependency:tree`或`gradle dependencies`命令来检查依赖树。 3. **添加缺失的依赖**:如果缺少必要的依赖库,确保在项目中正确添加这些依赖。 示例解决方案(使用Maven): ```xml <dependencies> <!-- SLF4J API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <!-- Log4j 2 SLF4J Binding --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.14.1</version> </dependency> <!-- Log4j 2 Core --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency> </dependencies> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值