2013-04-16 20 views
6

Sto costruendo un'applicazione Java che sarà scaricata gratuitamente dal web. Voglio aggiungere una funzione di aggiornamento automatico in caso di errori di correzione o di miglioramento dell'applicazione. Per l'aggiornamento automatico ho diviso il mio programma in 3 unità.Auto update java application

  1. Base - molto piccolo codice che verificherà per la nuova versione di seconda unità (Uploader) aggiornarlo ed eseguirlo
  2. Uploader verifica la presenza di nuovi aggiornamenti del progetto e scaricare qualsiasi aggiornamento ed eseguirlo
  3. Programma principale: contiene l'applicazione principale e contiene tutti i moduli.

ho fatto sopra per 2 motivi:

  1. non voglio il client per riavviare l'applicazione in caso di qualsiasi aggiornamento
  2. Poiché l'applicazione ancora nuovo io non voglio avere qualsiasi problema in cui l'utente non sarà in grado di eseguire o aggiornare l'applicazione, quindi la Base è molto piccola e difficilmente ha errori.

C'è un metodo Java comune/di terze parti per eseguire l'aggiornamento automatico?

risposta

6

Java Web Start (JWS) è la tecnologia Oracle Corporation utilizzato per lanciare le applicazioni rich client (Swing, AWT, SWT) del desktop direttamente da un collegamento di rete o internet. Offre l'installazione 'one-click' per piattaforme che supportano Java.

JWS offre molte caratteristiche interessanti tra cui, ma non limitato a, splash screen, integrazione con il desktop, le associazioni di file, aggiornamento automatico (compresi i download pigri e controllo programmatico di aggiornamenti), partizionamento dei nativi & altri download risorsa piattaforma, architettura o versione Java, configurazione dell'ambiente run-time (versione minima J2SE, opzioni di runtime, RAM ecc.), facile gestione delle risorse comuni tramite estensioni.

+0

realtà Web stelle non vi aiuterà, come io sto avendo un programma di installazione per la mia applicazione Java, come molti altri file e le dipendenze necessarie – aymankoo

+0

* "come molti altri file e dipendenze necessarie" * Nulla in questa affermazione esclude le regole JWS. Se possono essere forniti all'interno di un Jar, basta aggiungere il Jar al percorso di classe run-time. Ma se è necessario eseguire un set-up/pull-down extra (ad esempio decomprimere i file in posizioni specifiche), codificarlo in Java e chiamarlo da [ExtensionInstallerService'] (http://pscode.org/jws/ API.html # EIS). –

+0

Bene, per molte ragioni ho bisogno che il mio programma controlli l'aggiornamento, poiché non tutti i file che sto usando nella mia applicazione devono essere caricati.In alcuni casi nell'aggiornamento ho bisogno di cancellare alcuni file nella macchina client e molti altri, quindi penso che dovrebbe essere dal codice – aymankoo

0

Si può provare a utilizzare OSGi.

Se si pianificherà correttamente la struttura modulare dell'applicazione, è possibile che quando si aggiornano i moduli dell'applicazione non sia necessario riavviare l'applicazione. Dovrai solo riavviare i moduli, che dipenderanno dal modulo aggiornato. Il ripristino dei moduli dipendenti avverrà all'interno dell'applicazione senza riavviare l'applicazione.

Preferisco lavorare con le applicazioni OSGE di Felix.

Apache Felix