Scala Spring-Boot 应用程序中的 Incompatible

我目前在使用 JUnit Vintage 测试我的 Scala - Spring Boot 应用程序时遇到了一个奇怪的异常。


java.lang.IncompatibleClassChangeError: org.myapp.SampleWebApplication and org.myapp.SampleWebApplication$delayedInit$body disagree on InnerClasses attribute


    at java.lang.Class.getDeclaringClass0(Native Method)

    at java.lang.Class.getDeclaringClass(Class.java:1235)

    at java.lang.Class.getEnclosingClass(Class.java:1277)

    at java.lang.Class.getSimpleBinaryName(Class.java:1443)

    at java.lang.Class.isMemberClass(Class.java:1433)

    at org.junit.internal.builders.AnnotatedBuilder.getEnclosingClassForNonStaticMemberClass(AnnotatedBuilder.java:94)

    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:83)

    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)

    at org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder.runnerForClass(DefensiveAllDefaultPossibilitiesBuilder.java:56)

    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

    at org.junit.vintage.engine.discovery.TestClassRequestResolver.createRunnerTestDescriptor(TestClassRequestResolver.java:55)

    at org.junit.vintage.engine.discovery.VintageDiscoverer.lambda$discover$0(VintageDiscoverer.java:53)

这是入口点,它是引发错误的类。


object SampleWebApplication extends App{

  SpringApplication.run(classOf[Application])

}

然而!如果我将代码更改为此(不扩展应用程序),错误将停止出现。


object SampleWebApplication {

  def main(args : Array[String]) : Unit = {

    SpringApplication.run(classOf[Application])

  }

}

你对我为什么遇到这个错误有什么建议吗?为什么删除“扩展应用程序”可以解决我的问题?任何帮助真的很感激。


米脂
浏览 180回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java