Tôi đã gặp phải vấn đề thú vị hoàn toàn mới đối với tôi. Như tôi đã đột nhiên phát hiện, đặc điểm kỹ thuật Jar nói rằng, được bao gồm, META-INF
và MANIFEST.MF
phải là mục nhập đầu tiên và thứ hai của gói *.jar
và không chỉ thư mục và tệp trong lưu trữ.Làm cách nào để xác minh thứ tự của MANIFEST.MF trong bình?
Tôi đang làm việc với khung công tác Java rất thận trọng về yêu cầu này và không nhiều chi tiết. Làm cách nào để kiểm tra xem META-INF
và MANIFEST.MF
có được đặt hàng đúng cách trong bình không?
CẬP NHẬT: Nhiều lọ là bên thứ ba và có rất nhiều lọ. Tôi không thể mở các lọ này trong notepad, excel, hexeditor, photoshop hoặc bất cứ thứ gì tìm kiếm chuỗi byte. Tôi cần công cụ dòng lệnh. Cảm ơn!
UPDATE 2: Dưới đây là lý do tại sao tôi đang hỏi câu hỏi này: http://www.mail-archive.com/[email protected]/msg17097.html
Trên thực tế các đặc điểm kỹ thuật KHÔNG nói rằng họ phải là người đầu tiên. Tuy nhiên, công cụ dòng lệnh 'jar' không đặt chúng đầu tiên và một số công cụ mong đợi chúng là, ví dụ vì một công cụ có thể nhanh chóng quét các tệp kê khai từ toàn bộ thư mục tệp JAR. Vì vậy, nó thực sự là một quy ước hơn là một yêu cầu. –
@Neil Bartlett, cảm ơn vì đã làm rõ, nhưng nó làm mọi thứ tồi tệ hơn cho tôi: (Đây là nguồn gốc của vấn đề: http://www.mail-archive.com/[email protected]/msg17097.html Bất kỳ – Osw
Aha, do đó, đây là một ví dụ của một công cụ giả định MANIFEST đến trước! Để trả lời câu hỏi ban đầu của bạn, 'jar tf foo.jar' nên liệt kê các nội dung của JAR theo thứ tự –