Java Error:修订间差异
跳到导航
跳到搜索
无编辑摘要 |
|||
第11行: | 第11行: | ||
SLF4J: See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. | SLF4J: See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. | ||
SLF4J: Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@4883b407] | SLF4J: Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@4883b407] | ||
通常,项目可能会包含以下几种依赖: | 通常,项目可能会包含以下几种依赖: | ||
* SLF4J API: 这是 SLF4J 的 API,用于定义日志记录的接口。它不包含任何实现代码,因此不会产生冲突 | * SLF4J API: 这是 SLF4J 的 API,用于定义日志记录的接口。它不包含任何实现代码,因此不会产生冲突 | ||
* SLF4J Binding: 这是一个 SLF4J 实现,如 Logback 或 Log4j。每个项目通常只需要一个 | * SLF4J Binding: 这是一个 SLF4J 实现,如 Logback 或 Log4j。每个项目通常只需要一个 | ||
* Logging Implementation: 这是具体的日志记录实现库,如 logback-core 或 log4j-core | * Logging Implementation: 这是具体的日志记录实现库,如 logback-core 或 log4j-core | ||
一般来说,spring Boot 中 包含 slf4j,所以如果另外引用了 slf4j 就会出现 multiple SLF4J providers. | |||
[https://www.slf4j.org/codes.html#multiple_bindings SLF4J 官方给出的解决冲突的方法:] | |||
1. 找到冲突包所在位置 | |||
mvn dependency:tree | |||
# MacOS 下 mvn 路径可能在 /Applications/IntelliJ\ IDEA\ CE.app/Contents/plugins/maven/lib/maven3/bin/ | |||
2. 排除冲突的依赖 | |||
[[分类:Develop]] | [[分类:Develop]] | ||
[[分类:Java]] | [[分类:Java]] |
2024年9月29日 (日) 14:19的版本
无法从静态上下文中引用非静态方法
静态(static)方法和静态变量属于某一个类,而不属于类的对象。static 在类加载的时候就会分配内存,可以通过类名直接去访问。非静态成员属于类的对象,在对象初始化之后存在。
在静态方法中调用非静态成员,相当于调用了一个还未初始化的变量。
路径中存在多个 SLF4J 绑定
SLF4J: Class path contains multiple SLF4J providers. SLF4J: Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@4883b407] SLF4J: Found provider [org.slf4j.reload4j.Reload4jServiceProvider@7d9d1a19] SLF4J: See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@4883b407]
通常,项目可能会包含以下几种依赖:
- SLF4J API: 这是 SLF4J 的 API,用于定义日志记录的接口。它不包含任何实现代码,因此不会产生冲突
- SLF4J Binding: 这是一个 SLF4J 实现,如 Logback 或 Log4j。每个项目通常只需要一个
- Logging Implementation: 这是具体的日志记录实现库,如 logback-core 或 log4j-core
一般来说,spring Boot 中 包含 slf4j,所以如果另外引用了 slf4j 就会出现 multiple SLF4J providers.
SLF4J 官方给出的解决冲突的方法: 1. 找到冲突包所在位置
mvn dependency:tree # MacOS 下 mvn 路径可能在 /Applications/IntelliJ\ IDEA\ CE.app/Contents/plugins/maven/lib/maven3/bin/
2. 排除冲突的依赖