Ошибка SLF4J при переносе приложения из JDK 8 в OpenJDK 11 - PullRequest
0 голосов
/ 28 января 2020

Мы изменили код, совместимый с OpenJDK 11. Когда мы пытаемся развернуть приложение через Tomcat, возникает следующая ошибка:

Caused by: java.lang.IllegalAccessError: class org.slf4j.LoggerFactory tried to access private field org.slf4j.impl.StaticLoggerBinder.SINGLETON (org.slf4j.LoggerFactory and org.slf4j.impl.StaticLoggerBinder are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @61526469)
                at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
                at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32)
                at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20)
                at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                ... 38 more

Зависимости в pom. xml:

<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>

С OpenJDK 8 все работало нормально.

Версия Tomcat: apache -tomcat-9.0.27

...