nah*_*hab 3 java classloader slf4j
slf4j api 中存在类 org.slf4j.impl.StaticLoggerBinder、org.slf4j.impl.StaticMarkerBinder、org.slf4j.impl.StaticMDCBinder。但是到具体记录器的每个绑定都应该包含相同的类。
例如:
java类加载器如何替代它?这里不应该是一个例外吗?
如果您提取实际的 slf4j-api jar,您会发现它org.slf4j.impl.StaticLoggerBinder实际上并未包含在 jar 中。SFL4J api 在构建时针对类进行编译,但实际上并未包含在工件中。如果您查看org.slf4j.impl.StaticLoggerBinderapi 模块中的源代码,它没有实现,所有公共实例方法都会抛出异常UnsupportedOperationException。这也没关系,因为该类已从 slf4j-api jar 中排除。
类加载器表现正常,并org.slf4j.impl.StaticLoggerBinder在需要加载类时选择找到的第一个版本。这通常来自类路径上列出的第一个 slf4j 实现 jar。
注意:findPossibleStaticLoggerBinderPathSet()仅用于警告类路径上存在多个绑定。它实际上并不加载任何绑定。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4088 次  |  
        
|   最近记录:  |