2010-01-30 28 views
6

tôi đã cố gắng để tạo ra một jar thực thi sử dụng lệnh này:Tại sao jar bỏ qua tệp kê khai của tôi?

jar -cvfm h.jar Manifest.mf Whatever1.class Whatever2.class 

Các manifest chứa này:

Main-Class: Whatever1 

Nhưng nếu tôi cố gắng chạy jar, tôi nhận được: Failed to load Main-Class manifest attribute from my.jar. Tôi đã chiết xuất bình và tôi thấy rằng nội dung của biểu hiện đó là:

Manifest-Version: 1.0 
Created-By: 1.6.0_18 (Sun Microsystems Inc.) 

Tại sao tệp kê khai của tôi bị bỏ qua?

EDIT: Tôi biết rằng bằng cách sử dụng cờ -e Tôi có thể chỉ định một điểm vào và jar sẽ tạo một tệp kê khai chính xác, nhưng tôi muốn biết cách làm cho phiên bản này hoạt động.

+0

Hãy thử http://java.sys-con.com/node/36995 – Pace

Trả lời

15

Thêm một ngắt dòng sau dòng cuối cùng của Manifest.mf

+0

Đây có phải là một tính năng không? LOL! – Geo

+0

đã lưu ngày của tôi. đã cho tôi một giờ rối tung xung quanh cho đến khi tôi tìm thấy câu trả lời của bạn. – Matthias

+0

đã nhận được thất vọng cho đến khi tôi thấy bài viết của bạn –

0

Tôi cho rằng bạn phải chạy jar như:

jar -cvf h.jar -m Manifest.mf Whatever1.class Whatever2.class

Bởi vì giá trị cho các tùy chọn đến trực tiếp sau khi lựa chọn riêng của mình.

+2

Điều này cho biết: '-m: không có tệp hoặc thư mục nào'. – Geo

2

tôi đã nhận thấy rằng không có một dòng mới vào cuối của file manifest gây ra vấn đề này vào những thời điểm. Xem việc thêm một dòng mới ở cuối tệp kê khai có giúp ích gì không.

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