java.lang.NoSuchMethodError:scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

java.lang.NoSuchMethodError:scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;,java,spring,spring-boot,apache-kafka,spring-kafka,Java,Spring,Spring Boot,Apache Kafka,Spring Kafka,我最近更改了我的应用程序的Kafka客户端版本。紧接着,我的集成测试开始失败,原因是下面提到的嵌入式Kafka问题。这是我初始化嵌入式Kafka代理的代码片段 @ClassRule public static EmbeddedKafkaRule kafkaEmbedded = new EmbeddedKafkaRule(1, true, 1, KafkaTopic.getTopics()); 这里,KafkaTopic.getTopics()返回主题列表。 我目前正在使用spring kaf

我最近更改了我的应用程序的Kafka客户端版本。紧接着,我的集成测试开始失败,原因是下面提到的嵌入式Kafka问题。这是我初始化嵌入式Kafka代理的代码片段

@ClassRule
public static EmbeddedKafkaRule kafkaEmbedded = new EmbeddedKafkaRule(1, true, 1, KafkaTopic.getTopics());

这里,KafkaTopic.getTopics()返回主题列表。 我目前正在使用spring kafka test 2.2.8.RELEASE和spring kafka 1.3.8.RELEASE

java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

    at kafka.cluster.EndPoint$.<init>(EndPoint.scala:32)
    at kafka.cluster.EndPoint$.<clinit>(EndPoint.scala)
    at kafka.server.Defaults$.<init>(KafkaConfig.scala:68)
    at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
    at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:781)
    at kafka.server.KafkaConfig$.<clinit>(KafkaConfig.scala)
    at kafka.utils.TestUtils$.createBrokerConfig(TestUtils.scala:234)
    at kafka.utils.TestUtils.createBrokerConfig(TestUtils.scala)
    at org.springframework.kafka.test.EmbeddedKafkaBroker.createBrokerProperties(EmbeddedKafkaBroker.java:239)
    at org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:214)
    at org.springframework.kafka.test.rule.EmbeddedKafkaRule.before(EmbeddedKafkaRule.java:109)
    at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:46)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
java.lang.NoSuchMethodError:scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
位于kafka.cluster.EndPoint$(EndPoint.scala:32)
位于kafka.cluster.EndPoint$(EndPoint.scala)
位于kafka.server.Defaults$(kafkanconfig.scala:68)
位于kafka.server.Defaults$(kafkanconfig.scala)
位于kafka.server.kafkanconfig$(kafkanconfig.scala:781)
位于kafka.server.kafkanconfig$(kafkanconfig.scala)
位于kafka.utils.TestUtils$.createBrokerConfig(TestUtils.scala:234)
位于kafka.utils.TestUtils.createBrokerConfig(TestUtils.scala)
位于org.springframework.kafka.test.EmbeddedKafkaBroker.createBrokerProperties(EmbeddedKafkaBroker.java:239)
位于org.springframework.kafka.test.EmbeddedKafkaBroker.AfterPropertieSet(EmbeddedKafkaBroker.java:214)
位于org.springframework.kafka.test.rule.EmbeddedKafkaRule.before(EmbeddedKafkaRule.java:109)
位于org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:46)
位于org.junit.rules.RunRules.evaluate(RunRules.java:20)
位于org.junit.runners.ParentRunner.run(ParentRunner.java:363)
位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
位于org.junit.runner.JUnitCore.run(JUnitCore.java:137)
位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
位于com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
位于com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
位于com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
有人能建议解决这个问题吗

弹簧卡夫卡试验2.2.8.释放和弹簧卡夫卡1.3.8.释放

java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

    at kafka.cluster.EndPoint$.<init>(EndPoint.scala:32)
    at kafka.cluster.EndPoint$.<clinit>(EndPoint.scala)
    at kafka.server.Defaults$.<init>(KafkaConfig.scala:68)
    at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
    at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:781)
    at kafka.server.KafkaConfig$.<clinit>(KafkaConfig.scala)
    at kafka.utils.TestUtils$.createBrokerConfig(TestUtils.scala:234)
    at kafka.utils.TestUtils.createBrokerConfig(TestUtils.scala)
    at org.springframework.kafka.test.EmbeddedKafkaBroker.createBrokerProperties(EmbeddedKafkaBroker.java:239)
    at org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:214)
    at org.springframework.kafka.test.rule.EmbeddedKafkaRule.before(EmbeddedKafkaRule.java:109)
    at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:46)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
您不能这样做;版本必须匹配

此外,在重写kafka客户端版本时,还必须重写测试嵌入式代理使用的其他kafka JAR

请参阅附录,了解您使用的版本;例如:


你也可以分享代码片段吗?看起来scala版本有变化。我尝试在我的build.gradle中添加testCompile'org.scala lang:scala library:2.11.8',但没有帮助。你能建议使用哪个版本吗?在切换scala版本时,我遇到了类似问题。用兼容的新scala版本和它起作用了你不能混合使用像spring kafka test 2.2.8.RELEASE和spring kafka 1.3.8.RELEASE这样的版本。-它们必须是相同的。另请参见我的答案。