2009-09-08 26 views
5

Tôi có một tình huống trong đó có một đoạn mã Java nhỏ có một số lượng lớn các lọ phụ thuộc vào nó. Tuy nhiên, các phụ thuộc bên trong các lọ này rất nông. Trong hầu hết các trường hợp, nó chỉ phụ thuộc vào một cái lọ cho một giao diện duy nhất.Java Giảm thiểu các phụ thuộc

Thay vì phân phối tất cả các lọ bằng ứng dụng, tôi chỉ muốn phân phối các tệp lớp cụ thể bên trong các lọ mà nó thực sự sử dụng. Lý do cho việc này là để tiết kiệm không gian (mã này sẽ sống trong một applet).

Có ai biết công cụ hoặc phương pháp để thực hiện điều này tự động không? Giả sử tất cả các phụ thuộc là tĩnh, điều này có vẻ hoàn toàn có thể. Bất kỳ ý tưởng?

Trả lời

5

Classdepandjar sẽ loại bỏ một codebase thành các lớp học thiết yếu. Nó được sử dụng trong thế giới Jini để cung cấp các lọ có kích thước tối ưu, nhưng không có gì đặc trưng cho Jini về nó.

Có sẵn dưới dạng tác vụ Ant.

3

Theo như tôi biết, đây chỉ là maven, nhưng đó là một khởi đầu tốt

Maven Shade Plugin: Plugin này cung cấp khả năng để đóng gói vật trong một uber-jar, trong đó có phụ thuộc và để bóng râm của nó - tức là đổi tên - các gói của một số phụ thuộc.

2

ProGuard không co lại/tối ưu hóa và cũng làm xáo trộn. Tôi nghĩ rằng bạn có thể cấu hình nó để làm chỉ là một hay khác.

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