2013-04-16 49 views
6

Tôi đang xây dựng ứng dụng Java sẽ được tải xuống miễn phí từ web. Tôi muốn thêm tính năng cập nhật tự động trong trường hợp sửa lỗi hoặc tăng cường ứng dụng. Để tự động cập nhật, tôi chia chương trình của mình thành 3 đơn vị.Tự động cập nhật ứng dụng java

  1. Base - mã rất nhỏ mà sẽ kiểm tra phiên bản mới của đơn vị thứ hai (Uploader) cập nhật nó và chạy nó
  2. Uploader sẽ kiểm tra bản cập nhật mới của dự án và tải về bất kỳ bản cập nhật và chạy nó
  3. Chương trình chính - chương trình này chứa ứng dụng chính và chứa tất cả các mô-đun.

tôi đã làm ở trên cho 2 lý do:

  1. Tôi không muốn khách hàng để khởi động lại ứng dụng trong trường hợp của bất kỳ bản cập nhật
  2. Do việc áp dụng vẫn còn mới Tôi không muốn có bất kỳ vấn đề nào mà người dùng sẽ không thể chạy hoặc cập nhật ứng dụng, vì vậy Base rất nhỏ và hầu như không có lỗi.

Có phương pháp Java/bên thứ ba phổ biến để thực hiện cập nhật tự động không?

Trả lời

6

Java Web Start (JWS) là công nghệ của Oracle Corporation được sử dụng để khởi chạy ứng dụng dành cho máy tính để bàn phong phú (Swing, AWT, SWT) trực tiếp từ mạng hoặc liên kết internet. Nó cung cấp cài đặt 'một cú nhấp chuột' cho các nền tảng hỗ trợ Java.

JWS cung cấp nhiều tính năng hấp dẫn, bao gồm nhưng không giới hạn, màn hình giật gân, tích hợp máy tính để bàn, các hiệp hội tập tin, cập nhật tự động (bao gồm tải lười biếng và kiểm soát chương trình của bản cập nhật), phân vùng của người bản địa & tải tài nguyên khác do nền tảng, kiến ​​trúc hoặc phiên bản Java, cấu hình môi trường thời gian chạy (phiên bản J2SE tối thiểu, tùy chọn thời gian chạy, RAM, v.v.), quản lý dễ dàng các tài nguyên phổ biến bằng cách sử dụng các tiện ích mở rộng ..

+0

Trên thực tế Web Star sẽ không giúp đỡ, Như Tôi gặp một chương trình cài đặt cho ứng dụng java của tôi, như nhiều tác phẩm và phụ thuộc cần thiết – aymankoo

+0

* "như nhiều tác phẩm và phụ thuộc khác cần thiết" * Không có gì trong tuyên bố rằng khác quy tắc JWS. Nếu chúng có thể được cung cấp bên trong một Jar, chỉ cần thêm Jar vào đường dẫn lớp thời gian chạy. Nhưng nếu có thêm thiết lập/pull-down được thực hiện (ví dụ giải nén các tập tin vào các vị trí cụ thể), mã nó trong Java và gọi nó từ một ['ExtensionInstallerService'] (http://pscode.org/jws/ api.html # eis). –

+0

Vâng, vì nhiều lý do tôi cần chương trình của mình để kiểm tra cập nhật, vì không phải tất cả các tệp tôi đang sử dụng trong ứng dụng của mình cần tải lên.Trong một số trường hợp trong bản cập nhật, tôi cần xóa một số tệp trong máy khách và nhiều thứ khác, vì vậy tôi nghĩ rằng nó phải bằng mã số – aymankoo

0

Bạn có thể thử sử dụng OSGi.

Nếu bạn sẽ lập kế hoạch cấu trúc mô-đun đúng của ứng dụng, có khả năng là khi bạn cập nhật các mô-đun ứng dụng, bạn không phải khởi động lại ứng dụng. Bạn sẽ chỉ cần khởi động lại các mô-đun, điều này sẽ phụ thuộc vào mô-đun cập nhật. Đặt lại mô-đun phụ thuộc sẽ diễn ra trong ứng dụng mà không cần khởi động lại ứng dụng.

Tôi thích làm việc với các ứng dụng Felix OSGI.

Apache Felix

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