首页 > 解决方案 > SBT 驱逐较旧的 jar,这是必需的传递依赖项

问题描述

我的项目使用 Akka 和 Cassandra Persistence actor,还使用 ​​Janusgraph 和 Cassandra 作为数据存储,Elastic 作为索引引擎。添加 “com.typesafe.akka” %% “akka-persistence-cassandra” % “1.0.0” 作为依赖项会导致我的 Janusgraph 测试失败:java.lang.ClassNotFoundException: com.codahale.metrics.JmxReporter。如果没有 Cassandra Persistence,则会加载传递依赖项:io.dropwizard.metrics:metrics-core 3.2.2,但添加 Cassandra Persistence 后,metrics-core 3.2.2 会被 io.dropwizard.metrics:metrics-逐出核心 4.0.5,这导致我的 Janusgraph 设置失败,因为它依赖于较旧的 jar。我不确定 sbt 魔术会发生什么,以及我是否可以使用两个罐子。如何防止旧罐子被驱逐?

标签: cassandrasbt

解决方案


Try to add "io.dropwizard.metrics" % "metrics-jmx" % "4.0.5" to your test dependencies. This artefact includes the JmxReporter, which was included in metrics-jvm previously.


推荐阅读