Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.IllegalAccessError:试图从org.slf4j.LoggerFactory类访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON_Java_Gwt - Fatal编程技术网

java.lang.IllegalAccessError:试图从org.slf4j.LoggerFactory类访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON

java.lang.IllegalAccessError:试图从org.slf4j.LoggerFactory类访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON,java,gwt,Java,Gwt,我在运行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

我在运行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>

org.slf4j
slf4j api
1.5.6
org.slf4j
slf4j-log4j12
1.5.6

终于在我的SpringBoot应用程序中解决了这个问题。如果更新版本没有帮助,这可能会有所帮助。有时,其他库可能会带来此依赖项的不同版本。以下是步骤:

  • 通过错误堆栈跟踪找出哪个依赖项导致此问题
  • 获取maven依赖插件树。使用此树详细信息可以确定此库是否作为其他依赖项的一部分出现。在我的例子中,
    logbackclassic
    log4j-over-slf4j
    导致了这个问题。他们在
    springbootstarterweb
  • 在您的
    pom.xml
    中为提供此问题的库使用该依赖项中的
    。在我的例子中,它看起来是这样的:
  • 
    org.springframework.boot
    

    我一直被SLF4J向后兼容性问题困扰,以至于我尖叫不已。多么可笑的API啊。我永远不会故意使用SLF4J。我讨厌它。也就是说,谢谢你的回答@我也是。我在SLF4J问题上花了太多时间。
             <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>