У меня есть простой Scala класс, использующий slf4j ...
class BasicHandler[T] extends FutureCallback[T] with Logging{
val latch = new CountDownLatch(1)
override def cancelled(): Unit = {
logger.debug("Request cancelled")
this.latch.countDown();
}
...
}
Это компилируется и отлично работает с mvn clean deploy
. Однако когда я пытаюсь написать такой тест ...
"Future" should "unlatch on cancel" in {
assert(obj.latch.getCount == 0)
obj.cancelled();
obj.latch.await()
assert(obj.latch.getCount == 1)
}
я получаю ...
java .lang.NoClassDefFoundError: Не удалось инициализировать класс org . apache .logging.log4j.LogManager
Что мне не хватает?
Мои зависимости включают ...
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.10.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api-scala_2.12</artifactId>
<version>${scala.log4j}</version>
<exclusions>
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
</exclusion>
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4japi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>