2012-06-21 31 views
19

Tôi biết việc sử dụng tệp MANIFEST trong ứng dụng dành cho thiết bị di động, nhưng tôi không biết cách sử dụng giống nhau trong Ứng dụng Java.Sử dụng MANIFEST.MF trong WAR/JAR/EAR là gì?

Giả sử của tôi có nghĩa là, thông tin được sử dụng chỉ để giữ thông tin BUILD. Tôi có đúng không ??

Đây có phải là bắt buộc không? Nếu không, thì lợi ích chính mà chúng ta có thể rút ra là gì?

+0

, bạn có thể sử dụng nó để phiên bản, như được giải thích tại đây: http://www.jcabi.com/jcabi-manifests/versioning.html – yegor256

Trả lời

19

manifest.mf mang thuộc tính của tạo phẩm. Một trong những cái nổi tiếng nhất là ví dụ lớp chính của jar được sử dụng để khởi động tệp jar khi không có lớp nào khác được chỉ định. Cú pháp:

Main-Class: classname 

Các mục đích khác là, ví dụ như niêm phong gói và gói phiên bản. Xem hướng dẫn java về nó: http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

Biểu hiện trong bình thường chứa ít thông tin hơn ví dụ AndroidManifest.xml. Nó khá nhẹ và không không chứa bất kỳ thông tin xây dựng hoặc bao bì nào.

Điều này là do java không có hệ thống mô-đun tốt. Vì vậy, một lọ không phải là một mô-đun mà có thể cần rất nhiều thông tin cấu hình (như một danh sách các mô-đun mà nó có phụ thuộc). Thay vào đó, một lọ chỉ là một loạt các lớp với một số thông tin cấu hình. Hy vọng rằng, điều này sẽ được cố định bởi ghép hình dự án (http://openjdk.java.net/projects/jigsaw/). Ví dụ:

+0

Ngay bây giờ Tệp kê khai của tôi giống như "Tệp kê khai: Phiên bản 1.0" . Ứng dụng của tôi vẫn hoạt động tốt. –

+0

tất nhiên, mainfest là không cần thiết. Nó chỉ đơn giản là có thể mang thêm thông tin về lọ. – gexicide

+0

Tôi muốn vẽ một so sánh ở đây, Giống như trong ứng dụng di động, ứng dụng sẽ không chạy mà không có nó, nhưng đó không phải là trường hợp với Jar vv tại sao? –

Các vấn đề liên quan