2012-06-14 6 views
10

Tôi có một dự án Java có tên là Project1, chứa mười gói. Trong package3, tôi có một lớp được gọi là MyPrgm mà tôi muốn xuất dưới dạng jar có thể chạy được. Điều này là tốt và tôi có thể thực hiện nó trong dấu nhắc lệnh/bằng cách sử dụng một tập tin thực thi.
Tuy nhiên, khi tôi mở MyPrgrm.jar lưu trữ bằng cách sử dụng WinRAR tôi nhận thấy rằng mọi lớp đơn trong Project1 đều nằm trong kho lưu trữ; có cách nào để chỉ xuất các lớp được yêu cầu cho chương trình chạy không? Tôi đang sử dụng IDE Eclipse.Tại sao Eclipse xuất toàn bộ dự án của tôi thành tệp JAR có thể chạy được?

Trả lời

4

Nó thực hiện điều này bởi vì bạn đã yêu cầu. Nếu bạn chỉ muốn xuất một gói, thì chỉ xuất một gói. Ví dụ, nếu bạn nhấn chuột phải vào dự án và nhấn Export, Eclipse sẽ cố gắng xuất mọi thứ trong dự án, nhưng bạn có thể tinh chỉnh điều này một cách dễ dàng thông qua trình hướng dẫn xuất khẩu. Nếu bạn kích chuột phải vào một gói và nhấn Export, thì Eclipse sẽ cố gắng chỉ xuất gói đó.

Cụ thể, hãy xem phần "Đặc tả tệp Jar" của trình hướng dẫn Xuất nơi bạn có thể chọn và chọn nội dung cần xuất.

+0

Cảm ơn bạn đã trả lời. Tôi đã nói nó ở đâu để xuất toàn bộ dự án? Tôi phải bấm vào package3> Export> Runnable Jar File và chọn cấu hình khởi động, nhưng vẫn còn vấn đề vẫn còn. – jesterII

+5

Không làm "Runnable Jar File" nhưng thay vì tệp Jar. Bạn vẫn có thể làm cho nó chạy được với các cài đặt phù hợp. –

+0

Thành công! Sử dụng xuất khẩu "Jar File" thay vì "Runnable Jar File" với các thiết lập chính xác làm việc thực sự. – jesterII

1

Nếu bạn không muốn tất cả các lớp trong JAR, sau đó chọn chỉ xuất cho gói cụ thể đó, không phải cho toàn bộ dự án.

Ngay cả khi các bước trên không hoạt động (không có lý do tại sao nó không nên), bạn vẫn có thể xóa các lớp bổ sung khỏi tệp thực thi. JAR về cơ bản là một kho lưu trữ ZIP, bạn có thể mở nó bằng bất kỳ trình quản lý lưu trữ nào và thêm/xóa các tệp như bạn muốn.

+0

Cảm ơn bạn, tôi đã làm cho nó hoạt động bằng cách chọn xuất như Jar File không Runnable Jar File, mà không cung cấp cho bạn tùy chọn để chọn gói/lớp bạn muốn xuất. – jesterII