使用selenium-server-4.0.0-alpha-5.jar
和gerrit-acceptance-framework-3.1.4.jar
时,如何解决错误类路径包含多个SLF4J绑定
错误堆栈跟踪:
[RemoteTestNG] detected TestNG version 7.2.0
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/DELL/Desktop/selenium/selenium-server-4.0.0-alpha-5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/DELL/.m2/repository/com/google/gerrit/gerrit-acceptance-framework/3.1.4/gerrit-acceptance-framework-3.1.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 24218
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 48737
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 5045
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
===============================================
Suite
Total tests run: 3, Passes: 0, Failures: 3, Skips: 0
===============================================
此错误消息...
Class path contains multiple SLF4J bindings.
...暗示类路径上存在多个SLF4J绑定。
根据文档:
SLF4J API被设计为一次绑定一个且仅绑定一个底层日志记录框架。如果类路径上存在多个绑定,SLF4J将发出警告,列出那些绑定的位置。
从错误stacktrace可以明显看出,staticloggerbinder.class
似乎在以下两个类路径中都可用:
c:/users/dell/desktop/selenium/selenium-server-4.0.0-alpha-5.jar!/org/slf4j/impl
c:/users/dell/.m2/repository/com/google/gerrit/gerrit-acceptance-framework/3.1.4/gerrit-acceptance-framework-3.1.4.jar!/org/slf4j/impl
当类路径上有多个绑定可用时,请选择一个且仅选择一个您希望使用的绑定,并移除其他绑定。SLF4J在此警告中提供的位置列表通常提供了足够的信息来识别依赖项,并将不需要的SLF4J绑定传递到项目中。因此,在项目的pom.xml
文件中,在声明肆无忌惮的依赖关系时,必须排除一个SLF4J绑定。例如,要从selenium-server-4.0.0-alpha-5.jar
中排除staticloggerbinder.class
:
</dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.X</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
作为替代方法,您还可以从gerrit-acceptance-framework-3.1.4.jar
中排除staticloggerbinder.class
注意:SLF4J发出的警告仅仅是警告而已。即使存在多个绑定,SLF4J也会选择一个日志框架/实现并与之绑定。SLF4J选择绑定的方式由JVM确定,并且对于所有实际目的来说,应该被认为是随机的。从1.6.6版本开始,SLF4J将为它实际绑定的框架/实现类命名。
我得到以下错误。似乎有多个日志记录框架绑定到SLF4J。不知道该怎么解决。非常感谢任何帮助。
我在运行java代码时遇到以下运行时异常。有人能帮我解决绑定冲突吗。
我在netbeans中有一个纯Java项目,我得到的警告是: 当然,我搜索了警告,但所有的答案都与用maven或pom.xml文件删除重复绑定有关。但是我没有pom.xml文件,也没有使用Maven。 那么如何排除绑定呢?
我不断得到错误:
我在其他问题中看到,通常此警告的解决方案是从导致此冲突的依赖项中排除slf4j,但我无法在我的项目中发现问题。 我运行命令,输出如下:
在将apache.mahout添加到pom.xml之后,我在运行spring项目时开始出现这个警告,我想知道如何抑制这个警告。 这是我的pom.xml 我试图排除slf4j-log4j12,但仍然不能工作,每次都有警告 我找遍了所有的地方,但我无法移除警告。 有什么建议吗?