Tôi đang phát triển một ứng dụng sẽ được triển khai cho các máy tính Windows. Bởi vì khách hàng của tôi có rất ít kiến thức về máy tính nên việc cài đặt và cập nhật cần phải dễ dàng nhất có thể. Tôi muốn cài đặt là bước thủ công duy nhất, bản cập nhật phải được thực hiện tự động.Làm thế nào để một ứng dụng Java tự cập nhật?
Cài đặt sẽ được thực hiện qua Installshield hoặc nhiều khả năng hơn bằng một trong các bản sao nguồn mở của nó. Trình cài đặt sẽ cài đặt các thành phần:
- một thời gian chạy Java (Oracle JRE) như một loại ứng dụng di động (có nghĩa là bằng cách đơn giản sao chép các tập tin chứa và không sử dụng các trình cài đặt được cung cấp)
- Apache Commons Daemon để cài đặt ứng dụng của tôi như một dịch vụ Windows
- bản thân ứng dụng trong hình dạng của một vài lọ tạo ra với mùa xuân Boot
Khi một trong những thay đổi thành phần tôi muốn cập nhật một cách tự động và âm thầm như càng tốt. Ứng dụng sẽ có thể xác định xem các bản cập nhật có sẵn trên web hay không và tải chúng xuống.
Tôi có những tùy chọn nào để đạt được điều này? Java Webstart là trong mắt tôi không phải là một giải pháp tốt - ví dụ nó không cho phép tôi cập nhật thời gian chạy. Việc cung cấp trình cài đặt bản cập nhật sẽ cần tương tác của người dùng và thậm chí có thể là quyền quản trị để nó không chạy ngầm.
Liên kết được đề xuất bên dưới không phù hợp với vấn đề của tôi vì tôi sử dụng daemon cần cập nhật trong thời gian chạy và không có giải pháp nào trong bài đăng được liên kết hỗ trợ.
bạn sẽ xuất bản các ứng dụng lọ cho một số repo maven? Về cơ bản bạn phải: 1. định kỳ kiểm tra phiên bản mới của các thành phần 2. nếu phiên bản có sẵn trực tuyến cao hơn phiên bản trên máy người dùng, tải xuống phiên bản mới hơn 3. khởi động lại ứng dụng của bạn với classpath cập nhật. Mỗi thành phần được phiên bản khác nhau và được xuất bản khác nhau. Có thể bạn sẽ cần một số container sẽ làm điều này cho bạn. –
Hãy để họ tự cài đặt JRE và sử dụng webstart để cập nhật ứng dụng. – Stefan
@Stefan: cài đặt JRE bình thường cho phép Java plugin mà nhiều người dùng không thích vì báo chí đánh giá Java/plugin như là một chủ đề để bảo mật máy tính. Và việc sử dụng trình cài đặt bình thường sẽ buộc người dùng phải tự cập nhật JRE (bất cứ khi nào nhân viên cập nhật thông báo cho họ về một bản cập nhật có sẵn). – Marged