@MaxLich
java developer

Как можно при запуске приложения в classpath указывать любое количество подключаемых библиотек (в виде jar-файлов)?

Здравствуйте. Столкнулся с ограничением командной строки в виндоуз. У меня сборка проекта идёт через грейдл, для запуска используется автоматически сконструированный bat-ник. Одной из последних строк этого файла идёт строка запуска итогового приложения. И грейдл добавляет в эту строку список всех используемых библиотек (а он немаленький). Соответственно, если папка, откуда запускается приложение, имеет большое имя, то ничего не запускается. Я думаю, что это не такая уж и редкая проблема, и уже должно быть выработано какое-то решение, но пока, порывшись в интернете, я его не нашёл. Подскажите, что надо делать, или хотя бы как это искать.
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Используйте звёздочку, которая работает как подстановочный символ "любой jar в каталоге"
java -cp path/to/dependencies/* package.name.ClassName
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Варианты:
- скопировать все зависимости в jre/lib/ext
- собрать все зависимости в 1 единственный jar и указывать его как зависимость
- собрать все зависимости внуть вашей проги тогда даже не надо указывать classpath
- не использовать длинные имена папок и файлов
- подгружать все зависимости непосредственно самой прогой класслоадером перед запуском основного кода
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы