Как запустить Selenium+Java+Cucumber без ide

94
01 мая 2021, 16:50

Здравствуйте имеются тесты написанные на java + cucumber

Структура следующая: https://i.imgur.com/moLVY6L.png

Главный вопрос, как запустить это добро не из IDE, а скажем из консоли или вообще обернуть это все в jar файл

Проблемы с которыми столкнулся это то что для создания jar нужен класс main,

Вроде как существует некий java cucumber.api.cli.Main - но как этим пользоваться я пока не понял. В любом случае наверняка есть способ запустить это просто из командной строки. Расскажите пожалуйста как это сделать?

Answer 1

Создание исполняемого JAR файла с помощью Maven Задача Создать исполняемый JAR файл для запуска программы из командной строки

Решение Для создания исполняемого JAR файла необходимо указать главный класс (Main-Class) в файле манифеста (META-INF/manifest.mf). Указываемый класс является точкой входа приложения.

При использовании Maven это можно сделать посредством maven-jar-plugin. Для этого необходимо объявить данный плагин в pom.xml и в разделе конфигурации плагина указать главный класс

<build>
  <plugins>
      <!-- Maven JAR Plugin --> 
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <archive>
            <manifest>
              <mainClass>ru.javacore.myapp.Main</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
  </plugins>
</build>

Теперь при сборке проекта, в файле манифеста будет добавляться строка: Main-Class: ru.javacore.myapp.Main

Для запуска программы из командной строки будет достаточно указать имя JAR файла: java -jar myapp.jar

Чтобы объявить зависимые библиотеки у JAR файла необходимо указать заголовок Class-Path в файле манифеста. Для этого в плагине при настройке манифеста объявляется элемент addClasspath. Если зависимые библиотеки располагаются в отдельной папке, то эту папку следует указать в элементе classpathPrefix.

      <!-- Maven JAR Plugin --> 
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib</classpathPrefix>
                <mainClass>ru.javacore.myapp.Main</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
READ ALSO
Почему выходит пустой массив? Javascript

Почему выходит пустой массив? Javascript

Изучаю и практикуюсь на задачнике по Javascript

96
Возможно ли написать конвертер в JPEG на JS?

Возможно ли написать конвертер в JPEG на JS?

Появилась необходимость для веб-приложения сделать конвертер PNG или других форматов в JPEGРаньше с таким не сталкивался, поэтому, возникает...

103
(Js) Выбрасывает этот ерор когда нажимаю на + (inc) и ввожу данные При том что для - (exp) все работает, а код аналогичный

(Js) Выбрасывает этот ерор когда нажимаю на + (inc) и ввожу данные При том что для - (exp) все работает, а код аналогичный

Помогите решить проблему Выбрасывает этот ерор когда нажимаю на + (inc) и ввожу данные При том что для - (exp) все работает, а код аналогичный Vs code проблем...

116