获得;java.lang.NoClassDefFoundError:org/junit/platform/engine/DiscoverySelector";试着运行宁静号

获得;java.lang.NoClassDefFoundError:org/junit/platform/engine/DiscoverySelector";试着运行宁静号,java,maven,testing,bdd,jbehave,Java,Maven,Testing,Bdd,Jbehave,使用Maven(通过命令行)创建了一个新的通用Serenity BDD JBehave框架 已将项目导入Intelli J,但当我尝试运行“AcceptanceTestSuite”时,我收到一个错误,显示“未找到任何测试”,并且线程“main”java.lang.NoClassDefFoundError中出现以下错误异常:org/junit/platform/engine/DiscoverySelector 我尝试重新导入项目,但这并不能解决问题 以下是完整的错误日志: Exception in

使用Maven(通过命令行)创建了一个新的通用Serenity BDD JBehave框架

已将项目导入Intelli J,但当我尝试运行“AcceptanceTestSuite”时,我收到一个错误,显示“未找到任何测试”,并且线程“main”java.lang.NoClassDefFoundError中出现以下错误
异常:org/junit/platform/engine/DiscoverySelector

我尝试重新导入项目,但这并不能解决问题

以下是完整的错误日志:

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/engine/DiscoverySelector
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetPublicMethods(Class.java:2902)
    at java.lang.Class.getMethods(Class.java:1615)
    at org.jbehave.core.steps.AbstractStepsFactory.hasAnnotatedMethods(AbstractStepsFactory.java:70)
    at net.serenitybdd.jbehave.SerenityStepFactory.getCandidateClasses(SerenityStepFactory.java:61)
    at net.serenitybdd.jbehave.SerenityStepFactory.stepsTypes(SerenityStepFactory.java:48)
    at org.jbehave.core.steps.AbstractStepsFactory.createCandidateSteps(AbstractStepsFactory.java:34)
    at net.serenitybdd.jbehave.SerenityStepFactory.createCandidateSteps(SerenityStepFactory.java:42)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.buildCandidateSteps(SerenityReportingRunner.java:294)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.createCandidateStepsWith(SerenityReportingRunner.java:249)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.createCandidateStepsWithNoMonitor(SerenityReportingRunner.java:257)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.getCandidateSteps(SerenityReportingRunner.java:240)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.buildDescriptionFromStories(SerenityReportingRunner.java:313)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.getDescriptions(SerenityReportingRunner.java:84)
    at net.serenitybdd.jbehave.runners.SerenityReportingRunner.getDescription(SerenityReportingRunner.java:168)
    at com.intellij.junit4.JUnit4IdeaTestRunner.getDescription(JUnit4IdeaTestRunner.java:78)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.DiscoverySelector
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 21 more

将依赖项添加到
pom.xml


org.junit.platform
junit平台引擎
1.2.0

在我的例子中,我们使用的是gradle,不知何故我无法解决它,我已经在eclipse中手动添加了JAR,现在它可以工作了。 在Eclipse项目中→ 构建路径→ 配置生成路径->库→ 添加与“jupiterEnginer5.5”相关的所有库。
以下是“jupiterEnginer5.5”的所有jar:opentest4j-1.2.0.jar junit-platform-engine-1.7.0-M1.jar junit-platform-commons-1.7.0-M1.jar junit-jupiter-engine-5.7.0-M1.jar junit-jupiter-api-5.7.0-M1.jar apiguardian-api-1.1.0.jar

不使用junit 5的maven依赖项包括:

JUnitJupiter api

朱尼特木星发动机

junit平台引擎

junit平台共享

junit vintage引擎(可选)

他们可以找到:

我正在使用VS代码,但这并不能解决我的问题,这可能会有所帮助