2013-02-04 37 views
9

Trong quá trình xử lý, tôi muốn nhập một thư viện tôi đã viết bằng Java bao quanh thư viện bên ngoài (tệp .jar).Làm thế nào để xuất khẩu một dự án Eclipse với phụ thuộc Jar bên ngoài?

Xử lý xuất hiện để nhập thư viện của riêng tôi, nhưng khi tôi gọi hàm tạo (tham chiếu một số lớp trong thư viện bên ngoài), tôi nhận được java.lang.NoClassDefFoundError trong giao diện điều khiển GUI chế biến.

Nếu thay vì bao gồm bên ngoài .jar trong đường dẫn xây dựng Eclipse của tôi, tôi sử dụng mã nguồn thực tế của thư viện và xuất tất cả, xử lý không khiếu nại.

Làm cách nào để có thể gói gói dự án này để tôi không phải bao gồm tất cả mã nguồn của thư viện (và thay vào đó chỉ bao gồm tệp .jar) trong dự án Eclipse của tôi?


Cập nhật: Theo đề nghị của N.L.telaviv 's, tôi đã chọn để xuất khẩu như một JAR Runnable. Những gì làm việc cho tôi là chọn tùy chọn "Sao chép các thư viện cần thiết vào một thư mục con bên cạnh JAR được tạo ra." Ở đây, một thư mục khác được tạo bên cạnh nơi đầu ra .jar của bạn chứa các thư viện .jar được tham chiếu.

Update2: Tùy chọn khác hoạt động là "Giải nén thư viện cần thiết vào JAR được tạo". Làm như vậy cho phép JAR truy cập các tham chiếu nội bộ. Dường như cũng giống như đã làm việc với đề xuất của N.L.telaviv, nhưng điều đó dường như không đúng. Chọn tùy chọn này nếu bạn không muốn có thêm bất kỳ tệp nào. Bạn sẽ nhận thấy, nếu bạn khám phá tệp .JAR, thư viện bên ngoài nằm trong một thư mục gói riêng biệt.

+0

Hi, tôi đã chọn lựa tất cả các tùy chọn này, nhưng không ai được làm việc cho tôi. Bạn có thể cho tôi biết điều gì sẽ là vấn đề? Cảm ơn bạn! –

Trả lời

6

Sử dụng tùy chọn xuất tệp JAR Runnable.

Bấm vào dự án của bạn - xuất khẩu - Java- file jar Runnable - chọn tùy chọn để đóng gói đòi hỏi các thư viện trong jar

+0

Chỉ cần thử điều đó, không may mắn. Sự khác biệt duy nhất ở đây là cùng với việc nhập MyProjectPackage. *, Processing cũng nhập org.eclipse.jdt.internal.jarinjarloader. * – funseiki

+0

kiểm tra xem Định nghĩa đường dẫn lớp trong MANIFEST có mỗi JAR trong nó – Nimrod007

+0

Bạn đang đề cập đến .classpath tập tin? Nếu đó là trường hợp, sau đó nó có .jar. Tôi cũng thấy rằng thay vì chọn để gói vào jar được tạo ra, nếu tôi chọn "Sao chép thư viện cần thiết vào một thư mục con bên cạnh JAR được tạo", nó có vẻ hoạt động. – funseiki

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