#java #jar #class-library
#java #jar #библиотека классов
Вопрос:
Я распространяю Java-приложение в виде JAR, но это зависит от нескольких дополнительных библиотек Apache. В целом, библиотеки увеличивают размер JAR в шесть раз. Мне не нужна вся библиотека, и я хочу удалить все, что не нужно моему коду.
Есть ли способ определить классы, которые необходимы? Я мог просмотреть исходный код для всех классов, которые я вызвал, и проверить их зависимости, но это просто неудобно, учитывая, что библиотеки находятся в 6 отдельных JAR.
Ответ №1:
Вы можете использовать ProGuard для устранения любых ненужных классов в распределенных jar. Возможно, вам потребуется настроить процесс для обработки зависимостей, которые не могут быть обнаружены во время компиляции (например, из-за отражения).