黄瓜junit在gherkin.GherkinDialectProvider上出现错误java.lang.NoClassDefFoundError失败

时间:2019-05-10 11:36:52

标签: cucumber-junit

我用Selenium配置了Cucumber,我添加了所有功能,类定义,测试定义。当我执行代码时,它会引发错误说明-

我已经尝试检查黄瓜和黄瓜的版本,我使用黄瓜4和黄瓜4。我也尝试了黄瓜6的版本。没用

java.lang.NoClassDefFoundError: gherkin/deps/com/google/gson/Gson
at gherkin.GherkinDialectProvider.
 <clinit>(GherkinDialectProvider.java:17)
at gherkin.TokenMatcher.<init>(TokenMatcher.java:25)

它应该显示功能。

2 个答案:

答案 0 :(得分:0)

小黄瓜是一个传递依赖,我们不会在pom.xml中明确添加

关键点::我们不会混合使用直接和传递依赖,特别是它们的版本!这样做可能导致不可预测的结果。

解决方案::如果要添加以下依赖项,请删除。 cucumber-core cucumber-java cucumber-jvm-deps Gerkin Junit 强>。它们是可传递的依赖项,将由您的依赖项提供。

您可以添加以下一组黄瓜最小依赖项。

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>4.0.0</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.0.0</version>
    <scope>test</scope>
</dependency>

通过

保存pom.xml并在项目级别同步新的依赖项
  • 右键单击(在Windows上)
  • 点击 Maven
  • 点击更新项目
  • 选中复选框-强制更新快照/发布并单击“确定”

最后运行mvn clean测试。

答案 1 :(得分:0)

  

我已经尝试检查黄瓜和黄瓜的版本,我使用黄瓜4和黄瓜4。我也尝试了黄瓜6的版本。没用

您尝试过5次吗?