Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.apache.logging.slf4j.Log4jLoggerFactory loaded from file:/D:/lt-work/install/tomcat/apache-tomcat-7.0.52/webapps/avp/WEB-INF/lib/log4j-slf4j-impl-2.13.3.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.apache.logging.slf4j.Log4jLoggerFactory
时间: 2024-02-03 18:13:49 浏览: 208
这个错误提示是由于在项目中同时引入了 Logback 和 Log4j 的实现,导致 LoggerFactory 找不到正确的日志框架。解决方法有两种:
1.移除其中一个实现,比如移除 log4j-slf4j-impl-2.13.3.jar。
2.在项目中排除掉 log4j-slf4j-impl-2.13.3.jar,然后在 pom.xml 中引入 log4j-over-slf4j,将 log4j 的日志框架转为使用 slf4j 的实现,避免与 Logback 冲突。具体操作如下:
```
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.30</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
```
相关问题
Caused by: java.lang.IllegalArgumentException: View is not a binding layout
Caused by: java.lang.IllegalArgumentException: View is not a binding layout 是一个Java异常,表示视图不是一个绑定布局。这个异常通常在使用Android Data Binding库时出现,可能是由于以下几个原因导致的:
1. 布局文件没有正确设置为绑定布局。在布局文件的根元素中,需要添加<data>标签来声明数据绑定的变量和表达式。
2. 绑定类没有正确生成。在使用数据绑定时,编译器会自动生成对应的绑定类,如果绑定类没有正确生成,就会导致该异常。
3. 布局文件中的变量或表达式错误。如果在布局文件中使用了错误的变量或表达式,也会导致该异常。
解决这个异常的方法包括:
1. 确保布局文件正确设置为绑定布局,并且包含正确的<data>标签。
2. 清理和重新构建项目,以确保绑定类正确生成。
3. 检查布局文件中的变量和表达式,确保它们的正确性。
4. 检查相关的Java代码,确保正确地使用了数据绑定。
Caused by: java.lang.IllegalArgumentException: '5000 ' is not a valid duration
这个异常信息表明在某个Java程序中,尝试设置一个时间和持续时间,但是提供的值 "5000" 被判定为无效的。`java.lang.IllegalArgumentException` 是一个运行时异常,通常是因为传入了不符合预期格式或范围的参数。
在Java中,如果涉及到时间相关的操作,如`Duration`(JDK 8引入的时间间隔)、`ScheduledExecutorService` 的定时任务或者其他API对时间长度的要求,`5000` 可能需要转换成特定的时间单位,比如毫秒(`millis`)。例如:
```java
long durationInMilliseconds = 5000;
Duration duration = Duration.ofMillis(durationInMilliseconds);
```
如果没有正确地将 "5000" 转换为有效的时间量,就会抛出 `IllegalArgumentException`。这通常意味着你需要检查并确保提供的数值以及其单位是合法的,或者确保正确的解析函数被用于该值。
阅读全文