#spring #junit #log4j #pom.xml #slf4j
#весна #junit #log4j #pom.xml #slf4j
Вопрос:
Я видел другие вопросы, касающиеся той же ошибки, и ни одно из решений не сработало для меня. Я просмотрел иерархию зависимостей, и конфликта версий не было.
У меня есть тест JUnit 4. При запуске теста я получаю следующую ошибку
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog.error(LogAdapter.java:433)
Следующие зависимости были добавлены в pom.xml:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.11</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.11</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>provided</scope>
</dependency
Версия Sping: 5.2.6
Junit: 4
Есть идеи, что могло пойти не так?
Комментарии:
1. Вы используете слишком старую версию slf4j. Используйте что-нибудь в диапазоне 1.7.
2. @M.Deinum Я добавил 1.7.0. По-прежнему безуспешно. На самом деле я получаю эту ошибку в консоли:
SLF4J: The requested version 1.6.99 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
я также получил эту ошибку при использовании версии 1.5.11.3. В соответствии с ошибкой я добавил slf4j из 1.5.8 . Итак, эта ошибка решена, но
LocationAwareLogger
все еще существует4. Вы не должны обновлять только API, но и обе версии.
5. @M.Denium Да, я обновил как slf4j-api, так и slf4j-log4j12