@TheUralSky

Как запустить Main-класс из Jar?

С помощью maven-плагинов формирую следующую структуру рабочего каталога программы:
application.jar -- приложение, только написанные мной и сгенерированные классы
config.xml -- файл конфигурации
lib/ -- директория с библиотеками-зависимостями

Запускаю класс, содержащий метод с сигнатурой public static void main(String[] args) следующей командой:
java -classpath application.jar;lib/*.jar;. org.company.application.Launcher

, а в ответ получаю
Error: Could not find or load main class org.company.application.Launcher

Именно так, а не java -jar application.jar с указанием Main-Class в application.jar/META-INF/MANIFEST.MF потому, что есть несколько возможных точек входа для разных сценариев использования.
Внутри application.jar файл org/company/application/Launcher.class есть.

Где порылась собака и как понять, где она порылась?
  • Вопрос задан
  • 523 просмотра
Пригласить эксперта
Ответы на вопрос 2
AlexXYZ
@AlexXYZ
O Keep Clear O
Попробуйте перед lib поставить точку (текущий каталог), а то, наверное, java не очень понимает где же всё-таки находится lib (ну и *.jar убрать):

java -classpath application.jar;./lib;. org.company.application.Launcher
Ответ написан
Комментировать
@TheUralSky Автор вопроса
Так и не нашёл решения в существующей ситуации, вместо этого написал единственную точку входа, которая в зависимости от переданных параметров передаёт управление существующим main-ам (подлежит рефакторингу, но пока так) и сделал jar исполняемым с этим классом в роли Main-Class.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы