Вопрос

У меня есть ситуация, когда есть небольшой фрагмент Java-кода, который содержит большое количество jar-файлов, от которых он зависит.Однако зависимости внутри этих банок очень мелкие.В большинстве случаев это зависит только от jar для одного интерфейса.

Вместо того чтобы распространять все jar-файлы вместе с приложением, я хотел бы просто распространять определенные файлы классов внутри jar-файлов, которые оно фактически использует.Причина этого заключается в экономии места (этот код будет находиться в апплете).

Кто-нибудь знает об инструменте или методе, позволяющем сделать это автоматически?Предполагая, что все зависимости статичны, это кажется вполне возможным.Есть какие-нибудь идеи?

Это было полезно?

Решение

Классдепанджар разделит кодовую базу до основных классов.Он используется в мире Jini для производства банок оптимального размера, но в нем нет ничего специфичного для Jini.

Доступно как муравьиная задача.

Другие советы

Насколько я знаю, это только maven, но это хорошее начало

Плагин Maven Shade (Тень):Этот плагин предоставляет возможность упаковывать артефакт в uber-jar, включая его зависимости и затенять, т.е.переименовать - пакеты некоторых зависимостей.

Предусмотрительный выполняет сжатие / оптимизацию, а также обфускацию.Я думаю, вы можете настроить его так, чтобы он выполнял только одно или другое.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top