2012-06-14 48 views
72

Tôi đã hoàn thành dự án kết nối với cơ sở dữ liệu (MySQL). Bây giờ tôi muốn xuất dự án thành jar. Nhưng tôi không biết làm thế nào để bao gồm các phụ thuộc bên ngoài của nó? Có cách nào để làm điều đó trong Eclipse hay tôi nên sử dụng bất kỳ kịch bản cho điều đó ?.Làm thế nào để tạo một jar với các thư viện bên ngoài có trong Eclipse?

+0

Bạn định phân phối ứng dụng như thế nào. cho người dùng cuối? Mạng/internet, ổ đĩa hoặc ổ flash, ..cái gì khác? Ứng dụng có phải không. có một GUI? –

Trả lời

113

Khi bạn xuất dự án của mình dưới dạng 'Chứa có thể chạy' (Chuột phải trong dự án -> Xuất -> Chứa có thể chạy) bạn có tùy chọn để đóng gói tất cả các phụ thuộc vào jar được tạo. Nó cũng có hai cách khác (xem ảnh chụp màn hình) để xuất thư viện của bạn, lưu ý đến các giấy phép khi quyết định bạn sẽ sử dụng phương pháp đóng gói nào.

Package libraries

Các 'ra mắt cấu hình' thả xuống là dân cư với các lớp chứa một phương pháp main(String[]). Lớp đã chọn được bắt đầu khi bạn 'chạy' cái bình.

Xuất dưới dạng jar chạy được sử dụng phụ thuộc vào đường dẫn xây dựng của bạn (Chuột phải vào dự án -> Đường dẫn xây dựng -> Định cấu hình đường dẫn xây dựng ...). Khi bạn xuất dưới dạng bình thường (không chạy được), bạn có thể chọn bất kỳ tệp nào trong (các) dự án của mình. Nếu bạn có các thư viện trong thư mục dự án của bạn, bạn có thể bao gồm chúng nhưng phụ thuộc bên ngoài, ví dụ , không thể được bao gồm (cho các dự án maven, search here).

+0

hoàn hảo ... nhờ –

+0

@Joost: thưa bạn, tôi không nhận được bất kỳ tùy chọn nào trong tiêu đề cấu hình khởi chạy khi cố gắng xuất một ứng dụng java dưới dạng jar chạy được. Điều gì có thể sai hoặc thiếu? –

+0

Eclipse liệt kê các phương thức 'main()' mà nó biết. Hãy thử chạy ứng dụng của bạn một lần (Nhấn chuột phải vào dự án, Run As, Java Application) và sau đó xuất lại. – Joost

7

Bạn có thể sử dụng Xuất> Java-> Runnable Jar để tạo ra một lọ bao gồm phụ thuộc của nó

Ngoài ra, bạn có thể sử dụng fatjar Eclipse Plugin cũng như để bó lọ cùng

4

Bạn có thể đúng -nhấp vào dự án, bấm vào xuất khẩu, gõ 'jar', chọn 'Runnable JAR File Export'. Ở đó bạn có tùy chọn 'Giải nén thư viện cần thiết vào JAR được tạo'.

0

Trong khi xuất nguồn của bạn vào một cái lọ, hãy chắc chắn bạn chọn tùy chọn jar có thể chạy được từ các tùy chọn. Sau đó chọn nếu bạn muốn đóng gói tất cả các lọ phụ thuộc hoặc chỉ bao gồm chúng trực tiếp trong tệp jar. Nó phụ thuộc vào dự án mà bạn đang làm việc.

Sau đó, bạn chạy trực tiếp jar bằng java -jar example.jar.

2

Nếu bạn muốn xuất tất cả các tệp JAR của dự án web Java, hãy mở tệp WAR mới nhất được tạo bằng công cụ ZIP (ví dụ 7-Zip), điều hướng đến thư mục/WEB-INF/lib/. Ở đây bạn sẽ tìm thấy tất cả các tệp JAR mà bạn cần cho dự án này (như được liệt kê trong "Thư viện tham chiếu").

2

Cá nhân,

Không ai trong số các câu trả lời ở trên làm việc cho tôi, tôi vẫn tiếp tục nhận được lỗi NoClassDefFound (Tôi đang sử dụng Maven cho phụ thuộc). Giải pháp của tôi là xây dựng bằng cách sử dụng "mvn clean install" và sử dụng "[project] -jar-with-dependencies.jar" mà lệnh đó tạo ra. Tương tự như vậy trong Eclipse bạn có thể kích chuột phải vào dự án -> Run As -> Maven Install và nó sẽ đặt các lọ trong thư mục đích.

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