2009-11-06 29 views
9

Có cách nào để tạo tệp JAR chứa một số đối số được chuyển đến lớp chính không? (Nó không quan trọng cho dù nó prepends hoặc nối thêm các đối số cho các đối số dòng lệnh tiềm năng.)Đối số mặc định trong JAR-manifest

Tôi biết tôi chỉ đơn giản là viết một lớp bootstrapping và chỉ định đây là lớp chính (gọi lớp chính thực sự với các đối số), nhưng điều này có vẻ hơi khó xử.

+1

liên quan câu hỏi/câu trả lời: http://stackoverflow.com/q/212539/931379 – Pursuit

Trả lời

7

Theo hiểu biết tốt nhất của tôi, không. Bạn sẽ phải tự mình làm điều đó, bằng mã.

Rất nhiều người thấy hữu ích khi viết một lớp chính nhỏ thiết lập một môi trường và sau đó đóng vai trò là một ClassLoader cho chương trình chính "thực". Thông thường, các pre-mains này có thể được giải quyết với classpath của ứng dụng của chúng, nhưng loại vấn đề của bạn là một thứ khác có thể được giải quyết như thế này.

+3

Tạo một ClassLoader là quá mức cần thiết. Bạn chỉ có thể gọi OtherClass.main (String []) từ chính để thêm arg mặc định. –

+2

Đúng vậy, Laurence. Nó đã không xảy ra với tôi rằng đây là một trường hợp thoái hóa của những gì bộ nạp lớp tùy chỉnh thường được sử dụng cho. –

1

Tôi sẽ thiết kế ứng dụng để cài đặt mặc định được tích hợp và ghi đè các giá trị mặc định nếu người dùng đưa ra các đối số khác nhau.

Trong thiết lập của bạn, điều gì xảy ra nếu người dùng đưa ra các đối số khác? Sẽ không kết thúc với nhiều đối số tương tự và phải xử lý khó xử điều đó?

6
+2

+1 vì bạn đang thực sự trả lời câu hỏi thay vì đề xuất thay đổi. –

+1

Tôi nghi ngờ đây là câu trả lời tôi đang tìm kiếm. Thật không may, một trong các liên kết hiện đã chết và các liên kết khác đến một cuộc thảo luận được định dạng kém, có định dạng dài có thể chứa câu trả lời. – Pursuit

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