2010-01-09 50 views
13

Tôi đã thêm một số thư viện bên ngoài vào dự án java của tôi (trong netbeans).
Có thể đặt thư viện jar bên ngoài vào lưu trữ java (và không đặt chúng vào một thư mục riêng biệt (ví dụ) "lib") không?Đặt thư viện bên ngoài vào JAR?

+0

Điều gì bạn có nghĩa là 'vào kho lưu trữ java' không? – danben

+3

Tôi đoán Jani muốn đặt tất cả các lọ (thư viện) vào một và chỉ một cái bình. – Pierre

Trả lời

4

Tất nhiên bạn có thể. Có một vài dự án mã nguồn mở có thể được tải xuống bằng một "gói jar" chứa tất cả các phụ thuộc.
Bạn cần trích xuất tất cả các lọ và sau đó đóng lại chúng vào một tệp.
Ví dụ về việc thực hiện điều này với Ant có thể được xem here.

1

Dự án JarJar cho phép bạn đóng gói các chai phụ thuộc vào một tệp jar duy nhất để phân phối.

Dự án cung cấp nhiệm vụ kiến ​​để thực hiện đóng gói và khi các dự án netbeans sử dụng Ant cho quá trình xây dựng của chúng, bạn sẽ có thể tích hợp nó vào xây dựng của bạn khá dễ dàng.

0

Nếu đó là về đóng gói lọ thành lọ, điều này luôn được thực hiện cho các ứng dụng web trong các tệp chiến tranh hoặc tai. Nếu ứng dụng của bạn độc lập, bạn có thể giải nén các lọ và đóng gói tất cả trong một lọ kết quả bằng cách sử dụng bình Ant và các tác vụ chưa mở: http://ant.apache.org/manual/Tasks/unzip.html Nhưng tôi không khuyên bạn nên làm điều này.

1

Có, điều này là có thể và bình kết quả thực sự được gọi là "uberjar" hoặc "megajar". Về cơ bản, để tạo một "uberjar", bạn sẽ cần phải trích xuất nội dung của thư viện bên ngoài (sử dụng jar -x) và để đóng gói lại nó trong bình của riêng bạn (với jar -c). Điều này có thể đạt được bằng tay, hoặc với một công cụ xây dựng như Ant (và hỗ trợ tùy chọn của một dự án như One-JAR) hoặc Maven có hỗ trợ sẵn cho điều này thông qua plugin maven-assembly (hoặc plugin maven-shade))

0

Có một cách dễ dàng để thực hiện việc này bằng các tập lệnh kiến ​​tích hợp sẵn.

Có một câu hỏi SO trỏ đến bài viết này: http://mavistechchannel.wordpress.com/2010/08/17/how-to-build-a-single-jar-file-with-external-libs/

tôi đã thêm nó, nhưng là như vậy một Noob Tôi không biết làm thế nào để sử dụng nó. This article có hướng dẫn trực quan tuyệt vời. Về cơ bản, sau khi sửa đổi kịch bản kiến, hãy chuyển đến tab tệp (trong trình khám phá bên trái) => nhấp chuột phải vào xml => run tasks => other tasks => package for store (hoặc bất kỳ tên nào bạn đã đặt tên)

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