Google sử dụng bsdiff và Courgette để vá các tệp nhị phân như phân phối Chrome. Có bất kỳ công cụ tương tự nào tồn tại để vá các tệp jar không?Có gì giống như bsdiff/Courgette cho các tệp jar không?
Tôi đang cập nhật tệp jar từ xa qua kết nối giới hạn băng thông và muốn giảm thiểu lượng dữ liệu được gửi. Tôi có một số quyền kiểm soát máy khách ở một mức độ nào đó (tức là tôi có thể chạy tập lệnh cục bộ) và tôi đảm bảo rằng ứng dụng đích sẽ không chạy vào thời điểm đó.
Tôi biết rằng tôi có thể vá các ứng dụng java bằng cách đặt các tệp lớp được cập nhật vào đường dẫn lớp, nhưng tôi muốn có một phương pháp rõ ràng hơn để thực hiện cập nhật. Nó sẽ là tốt nếu tôi có thể bắt đầu với tệp jar mục tiêu, áp dụng một bản vá nhị phân, và sau đó gió lên với một tệp jar được cập nhật giống hệt nhau (bitwise) vào bình mới (từ đó bản vá được tạo).
lợi thế gì bạn đang tìm kiếm trên chỉ đơn giản là xử lý các jar như một tập tin nhị phân và vá nó? –
Nén lớn hơn. Bsdiff và Courgette đạt được tỷ lệ nén cao hơn vì các thuật toán mà chúng sử dụng được thiết kế đặc biệt để nén các tệp thực thi lớn. Tôi không biết, nhưng có vẻ như với tôi giống như những thứ tương tự có thể được thực hiện cho các tập tin jar. –
Câu hỏi liên quan: http://stackoverflow.com/questions/3738523/patching-java-software –