Либо используйте флаг -cp
:
java -cp /path/to/somefolder/*.jar:/path/to/otherfolder/*.jar com.YourMainClass
Или добавьте заголовок Class-Path:
в манифест вашей банки (см. Ответ Jigar)
Примечание для тех, кто ответил java -jar <etc>
: флаг -jar
деактивирует стандартный флаг -cp
и переменную среды CLASSPATH
, поскольку он извлекает путь к классу из манифеста JAR. Любой ответ, который объединяет -jar
и -cp
или $CLASSPATH
, не будет работать.
Эта информация хорошо спрятана, но я наконец нашел ссылку:
-jar
Выполните программу, инкапсулированную в файл JAR. Первый аргумент
имя файла JAR вместо
имя класса запуска. Для этого
возможность работать, манифест
JAR-файл должен содержать строку
Форма Main-Class: имя класса. Вот,
имя класса идентифицирует класс, имеющий
public static void main(String[]
args)
метод, который служит вашим
отправная точка приложения. Увидеть
Справочная страница инструмента Jar и банка
след Java-учебник для
информация о работе с Jar
файлы и Jar-файлы манифестов. Когда ты
используйте эту опцию, файл JAR является
источник всех пользовательских классов и прочее
настройки пути к классам пользователей игнорируются.
Источник: java - средство запуска приложений Java