Google использует bsdiff и Courgette для исправления двоичных файлов, таких как распространение Chrome. Существуют ли какие-либо подобные инструменты для исправления файлов jar?
Я обновляю файлы jar удаленно по каналу с ограниченной пропускной способностью и хотел бы свести к минимуму количество отправленных данных. У меня есть некоторый контроль над клиентской машиной в некоторой степени (то есть я могу запускать скрипты локально), и мне гарантировано, что целевое приложение не будет работать в то время.
Я знаю, что я могу исправлять java-приложения, добавляя обновленные файлы классов в путь к классам, но я бы предпочел более чистый метод для выполнения обновлений. Было бы хорошо, если бы я мог начать с целевого файла jar, применить двоичный патч, а затем завершить с обновленным файлом jar, который идентичен (побитово) для новой банки (из которой был создан патч).