Я скачал и установил все файлы JAR локально. Я читал, что существует вероятность возникновения конфликтов с большим количеством jar-файлов, которые могут мешать друг другу, поэтому я обновил все мои jar-файлы до последних версий. Все еще не помогает. Затем я убрал установленные банки по одному и попытался запустить их снова, пока не приступил к самым необходимым. Проблема все еще сохраняется.
Если вы будете следовать 10-минутному учебнику , вы получите введение, в котором используется управление зависимостями Maven.
В дополнение к этому учебному пособию Я настоятельно рекомендую вам уделить время изучению Maven или Gradle вместе с Cucumber. Помимо прочего, эти инструменты автоматизируют ваше управление зависимостями, и это может значительно облегчить вашу жизнь.
Например:
Если вы хотите использовать Cucumber с JUnit 4 и определениями шагов на основе аннотаций, вы бы объявите этот минимальный набор зависимостей в файле Maven pom.xml
.
<properties>
<cucumber.version>5.2.0</cucumber.version>
</properties>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Сказав Maven, каковы ваши зависимости, Maven может вычислить ваши переходные зависимости, то есть: зависимости ваших зависимостей.
Это имеет много преимуществ. Одним из примеров будет использование команды mvn dependency:tree
для отображения всех зависимостей. Это намного быстрее и намного менее подвержено ошибкам, чем загрузка файлов JAR вручную и в надежде, что у вас есть нужные файлы.
$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< cucumber:cucumber-java-skeleton >-------------------
[INFO] Building Cucumber-Java Skeleton 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ cucumber-java-skeleton ---
[INFO] cucumber:cucumber-java-skeleton:jar:0.0.1
[INFO] +- io.cucumber:cucumber-java:jar:5.2.0:test
[INFO] | +- io.cucumber:cucumber-core:jar:5.2.0:test
[INFO] | | +- io.cucumber:cucumber-gherkin:jar:5.2.0:test
[INFO] | | +- io.cucumber:cucumber-gherkin-vintage:jar:5.2.0:test
[INFO] | | +- io.cucumber:tag-expressions:jar:2.0.4:test
[INFO] | | +- io.cucumber:cucumber-expressions:jar:8.3.1:test
[INFO] | | +- io.cucumber:datatable:jar:3.3.0:test
[INFO] | | +- io.cucumber:cucumber-plugin:jar:5.2.0:test
[INFO] | | \- io.cucumber:docstring:jar:5.2.0:test
[INFO] | \- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] +- io.cucumber:cucumber-junit:jar:5.2.0:test
[INFO] \- junit:junit:jar:4.13:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.781 s
[INFO] Finished at: 2020-02-10T23:00:14+01:00
[INFO] ------------------------------------------------------------------------