2011-01-16 23 views
7

Làm cách nào để tạo một chương trình Java có thể tự cập nhật. Tôi làm cho chương trình này để sử dụng trong nhóm nhỏ. Tôi không cần bất kỳ tính năng nâng cao nào. Tôi chỉ cần một giải pháp đơn giản và tối thiểu.Làm cách nào để viết chương trình tự cập nhật trong Java?

+1

Điều bạn cần làm rõ ý bạn là gì khi tự cập nhật. Đây là một thuật ngữ khá tải và mơ hồ. – Uri

+0

Có: ý của bạn có phải là chương trình viết mã tự thực thi hay chương trình tải xuống phiên bản mới của chính nó không? –

+0

Xin lỗi vì cụm từ ambiguos đó. Nó giống như tính năng cập nhật firefox. Nó tự động kiểm tra các bản cập nhật qua internet và cập nhật phiên bản hiện tại. Tôi cố gắng làm cho tiện ích nhỏ cho nhóm của tôi và phân phối nó cho nhóm. Đây là ứng dụng xoay màn hình bình thường. Tôi cũng liên tục cải thiện chương trình này nhưng tôi không muốn gửi lại chương trình này cho tất cả mọi người. – dmay

Trả lời

9

Java Web Start dành riêng cho việc này. Bạn gửi một tệp jnlp và java sẽ tìm nạp phiên bản mới nhất từ ​​máy chủ.

Ngoài ra, bạn có thể tải xuống các lớp đã cập nhật và thay thế chúng khi chạy.

+2

Cần lưu ý rằng các ứng dụng (nhiều lần) tải các lớp được cập nhật trong khi chạy có xu hướng làm rò rỉ bộ nhớ permgen. Bạn có thể tránh rò rỉ, nhưng nó không phải là đơn giản. –

+1

có, chúng sẽ được khởi động lại tốt hơn mọi lúc rồi. – Bozho

0

Bạn có ý gì khi tự cập nhật?

Nếu bạn muốn thay đổi hành vi của nó khi chạy (rất hiếm), bạn có thể tạo mã viết mã java, biên dịch và tải mã từ bên trong chương trình đang chạy. Tôi đã thấy điều đó.

Kịch bản phổ biến hơn là có chương trình lõi với trình cắm, nơi bản thân trình cắm thêm có thể được cập nhật khi chạy. Cách đơn giản nhất để làm điều này đơn giản là sử dụng các giao diện cho các dịch vụ này và sau đó tải các instantiations của các kiểu này khi chạy. Tuy nhiên, việc viết một khung trình cắm thêm đầy đủ mạnh mẽ thường là phát minh lại bánh xe. Có nhiều kiến ​​trúc hiện có như OSGi.

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