Приведенные выше ответы были только частично полезны для меня.java -cp
было частью ответа, но мне нужна была более конкретная информация о том, как определить класс для запуска.Вот что сработало для меня:
Шаг 1: найдите класс, который мне нужен для запуска
jar tf /path/to/myjar.jar | more
Верхние строки результата были:
META-INF/
META-INF/MANIFEST.MF
somepath/
somepath/App.class
META-INF/maven/
...
Приложение.class содержит основной класс для запуска.Я не уверен на 100%, можете ли вы всегда предполагать, что класс, который вам нужен, - первый, но это было для меня.Если это не так, я бы подумал, что не так уж сложно использовать grep для исключения результатов, связанных с библиотекой, чтобы сократить список классов до приемлемого размера.
Оттуда это было легко: я простоиспользуйте этот путь (минус суффикс ".class"):
java -cp /path/to/myjar.jar somepath/App