Задача запускать jar файл из командной строки

Проблема (Вопрос) заключается в потребности запускать jar файл из командной строки. При попытке к нему обратиться возникает ошибка NotFoundClassException

Я попытался обратиться к файлу двумя способами(командами) из папки, где расположен jar.

У меня ничего не получилось

Из класса Main, непосредственно в IDE, тесты запускаются без проблем.

Версии ОС и софта следующие: win 10, IntelliJ IDEA 2022.3.2(Community)

А зачем так???
Если то тесты - не проще их запустить через commandline раннера? В Вашем случае - testNG.
Ну или через commandline сборщика.

Задача состоит в том, чтобы оставить на боевом сервере bat файл в котором прописан запуск/обращение к jar, который содержит набор автотестов(smoke). Заинтересованный сотрудник (разработчик, product owner) время от времени будет заходить на этот сервер и запускать эти smoke автотесты, чтобы проверить базовую работоспособность приложения. Про CI/CD пока не говорим.

Так а что мешает в bat-ник положить командную строку для запуска через maven?

Мне сейчас главное чтобы jar начал запускаться. Bat я пропишу за 1 мин. Вот как делаю это я, используя разные команды что видел на stackoverflow у людей с похожей проблемой, но выходит сообщение-исключение. Кто то писал, что мол это бывает когда собрался “тонкий” jar, для этого я прописал путь к pom.xml двумя способами, но и это не помогло.

У Вас тесты, не приложение. Зачем Вы их запускаете через Main?
mvn clean test - и поехали.
Ну или через testng

Сорри, не совсем понимаю как вы видите эту реализацию… команда mvn clean test ведь в консоли IDE прописывается, а не в cmd

Реализация через Main и задумана, чтобы запускать тесты через bat- jar, насколько я понимаю.

Я вижу так:
Создание bat, в котором прописана команда вызова jar-ника, который в свою очередь через класс Main как точку входа в любое Java приложение запускает программу и обращается к tesnng.xml в котором прописана последовательность выполнения тестов. Ну и непосредственно они начинают выполняться.

Так то да, при обычном запуске тестов, когда я нахожусь в IDE - запускаю через “шестеренку” test мавена

Тут вся штука в том, что сборщики типа maven или gradle ортогональны к системам разработки, типа IDEA или Eclipse. Да, там есть плагины для удобного их использования, но это просто отдельные tools’ы. Ничто вам не запрещает через командную строку запускать jar’ки (кроме отсутствия jre на машине) и точно также можно выполнять команды мавена, если он там физически присутствует. И если есть возможность запускать мавен, то нет особой пользы от упаковки тестов и запуске через jar-ник. Такая задача бывает нужна и даже может быть полезной, но это обычно очень специфические условия и ограничения.

Кошмар какой… Почему Вы не хотите хоть немного погуглить? Начните с how to run maven from command line.
Или how to run testng from command line.

Удалось запустить тесты через командную строку windows в папке с проектом командой mvn clean test. А так же, разместить bat файлик в папке проекта и запускать оттуда (там прописал: call mvn clean test). Спасибо за терпение :blush:

1 лайк

Ну, отлично! Поздравляю.
Следующий шаг: запустить это через Jenkins :slight_smile: