运行我的GWT应用程序时,我遇到了这个错误。
我在我的类路径中有这些jar文件:slf4j-api
和slf4j-log4j12
不知道出了什么问题,您有什么想法吗?
这个问题是由于slf4j-log4j12 jar包的更改导致的。从1.5.6版本开始,它不再允许访问org.slf4j.impl.StaticLoggerBinder.SINGLETON字段。
要解决此问题,请使用最新的slf4j-api和slf4j-log4j12 jar包(或至少从版本1.5.6开始)。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
最终解决了我SpringBoot应用程序中的这个问题。如果更新版本没有帮助,可能会有所帮助。有时其他库可能会带来这些依赖项的不同版本。以下是步骤:
logback-classic
和log4j-over-slf4j
会导致此问题。它们一起出现在spring-boot-starter-web
下pom.xml
中使用<exclusions><exclusion></exclusion></exclusions>
排除引起此问题的库。在我的情况下,它看起来像这样: <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
参考资料:
http://www.slf4j.org/faq.html#IllegalAccessError
http://www.slf4j.org/codes.html#multiple_bindings