Проблема (Вопрос) заключается в потребности запускать jar файл из командной строки. При попытке к нему обратиться возникает ошибка NotFoundClassException
Я попытался обратиться к файлу двумя способами(командами) из папки, где расположен jar.
У меня ничего не получилось
Из класса Main, непосредственно в IDE, тесты запускаются без проблем.
Версии ОС и софта следующие: win 10, IntelliJ IDEA 2022.3.2(Community)
Задача состоит в том, чтобы оставить на боевом сервере bat файл в котором прописан запуск/обращение к jar, который содержит набор автотестов(smoke). Заинтересованный сотрудник (разработчик, product owner) время от времени будет заходить на этот сервер и запускать эти smoke автотесты, чтобы проверить базовую работоспособность приложения. Про CI/CD пока не говорим.
Мне сейчас главное чтобы jar начал запускаться. Bat я пропишу за 1 мин. Вот как делаю это я, используя разные команды что видел на stackoverflow у людей с похожей проблемой, но выходит сообщение-исключение. Кто то писал, что мол это бывает когда собрался “тонкий” jar, для этого я прописал путь к pom.xml двумя способами, но и это не помогло.
Сорри, не совсем понимаю как вы видите эту реализацию… команда mvn clean test ведь в консоли IDE прописывается, а не в cmd
Реализация через Main и задумана, чтобы запускать тесты через bat- jar, насколько я понимаю.
Я вижу так:
Создание bat, в котором прописана команда вызова jar-ника, который в свою очередь через класс Main как точку входа в любое Java приложение запускает программу и обращается к tesnng.xml в котором прописана последовательность выполнения тестов. Ну и непосредственно они начинают выполняться.
Так то да, при обычном запуске тестов, когда я нахожусь в IDE - запускаю через “шестеренку” test мавена
Тут вся штука в том, что сборщики типа maven или gradle ортогональны к системам разработки, типа IDEA или Eclipse. Да, там есть плагины для удобного их использования, но это просто отдельные tools’ы. Ничто вам не запрещает через командную строку запускать jar’ки (кроме отсутствия jre на машине) и точно также можно выполнять команды мавена, если он там физически присутствует. И если есть возможность запускать мавен, то нет особой пользы от упаковки тестов и запуске через jar-ник. Такая задача бывает нужна и даже может быть полезной, но это обычно очень специфические условия и ограничения.
Удалось запустить тесты через командную строку windows в папке с проектом командой mvn clean test. А так же, разместить bat файлик в папке проекта и запускать оттуда (там прописал: call mvn clean test). Спасибо за терпение