Sự khác biệt trong eclipse giữa xuất dưới dạng tệp JAR và xuất dưới dạng tệp JAR Runnable là gì? Không phải cả hai đều chạy được sao? Ưu / nhược điểm của từng loại là gì?
Sự khác biệt trong eclipse giữa xuất dưới dạng tệp JAR và xuất dưới dạng tệp JAR Runnable là gì? Không phải cả hai đều chạy được sao? Ưu / nhược điểm của từng loại là gì?
Câu trả lời:
Jar runnable chứa một tệp MANIFEST.MF, định nghĩa lớp Chính sẽ được thực thi khi jar được chạy.
Các lọ không chạy được chỉ là thư viện của các lớp, có thể được thêm vào classpath để mã được sử dụng lại (nó cũng chứa tệp kê khai, nhưng không có lớp chính ở đó)
Một jar chạy được là một tệp jar có tệp Manifest nhúng bao gồm khai báo "Main-Class:". "Main-Class" phải được định nghĩa để thời gian chạy java biết lớp nào cần gọi khi jar được "chạy". Nếu một jar không bao gồm một tệp kê khai với "Main-Class:" thì nó không được coi là một "jar chạy được" - nó chỉ là một thư viện mã Java.
Tôi đoán đây là sự khác biệt trong cách Eclipse xuất bình, nhưng không chắc chắn 100%.
Xem liên kết này để biết thêm thông tin: http://www.skylit.com/javamethods/faqs/createjar.html
Trong trường hợp của tôi, tôi đã từng xuất dưới dạng jar khi tôi có tất cả lớp chính và tất cả thư mục đường dẫn thư viện được chỉ định trong tệp kê khai.mf. Nếu nhiều ứng dụng đang sử dụng cùng một thư viện thì không cần thiết phải xuất thư viện chia sẻ cho mỗi jar. Nó làm cho bình chạy nhanh hơn. Tuy nhiên, nhiều khi do vấn đề cấu hình trong đường dẫn lớp máy chủ khác nhau không thể truy cập thư viện và trong trường hợp đó, việc xuất jar chạy được có thể làm cho tệp chạy chậm và lớn.