2015-08-23 40 views
5

Sto iniziando a imparare GWT.GWT 2.7.0 Modalità Super Dev, non ricompilare il codice lato server dopo la modifica

Ho raccolto la versione più recente (2.7.0).

Ho scritto la classe Entry point per visualizzare la pagina iniziale e chiamare rpc al server per eseguire alcune funzioni.

Ogni modifica apportata nel codice sorgente lato client nella classe Entry point, causa la ricompilazione automatica (hot swap), così posso vedere immediatamente le modifiche, che ho applicato.

Il mio problema è che funziona solo per codice lato client.

Non funziona per il codice lato server. Per vedere le modifiche nel codice lato server, devo interrompere server e console ed eseguirlo di nuovo, il che è molto fastidioso.

Quindi la mia domanda è:

  • E 'un comportamento normale di application server GWT in SuperDevMode in 2.7.0 versione? O sto facendo qualcosa di sbagliato?
  • Come devo gestirlo?

Per favore, datemi i vostri pensieri a riguardo.

A proposito: utilizzo GWT con eclipse e plug-in di Google.


EDIT

Mi chiedo per quanto riguarda i progetti Maven GWT? Come affrontarli?

risposta

2

Quello che descrivi è un comportamento normale.

Ci sono diversi modi per ricaricare il codice lato server quando l'aggiornamento senza riavviare il server:

  1. il costruito nel web server supporta il codice sostituzione a caldo, ma solo se non si modifica di metodo o di classe firme. Se li si modifica (o si aggiunge una classe o un metodo), è necessario un riavvio del server.
  2. Potrebbe essere necessario configurare Eclipse per ri-pubblicare automaticamente eventuali modifiche al codice sul server Web.
  3. Esistono plug-in Eclipse di terze parti che migliorano il meccanismo di ricarica del codice hot, ad esempio JRebel, che consente la sostituzione del codice a caldo anche se si cambiano i metodi o le firme di classe.
+0

@ masterdany88: GWT SDM è per lato client non per lato server .. –

+0

Puoi darmi ulteriori informazioni sulla soluzione 2? Come costruire un progetto? Come avviare il server? Quale server usare, costruito in Jetty o forse Tomcat? Come configurarlo in eclissi? Forse qualche link utile? – masterdany88

+0

Sto utilizzando Tomcat e la vista "Server" (vedi http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wst.server.ui.doc.user%2Ftopics%2Frwrcview .html) in Eclipse per avviarlo e fermarlo. C'è anche un pulsante "Pubblica" nella vista "Server" che uso per pubblicare le modifiche senza un riavvio del server. – Bob

1

C'è un pulsante "ricarica webapp" in DevMode. Si trova nella scheda "Jetty" quando si utilizza DevMode "bare" e una freccia gialla a rotazione doppia nella vista Eclipse quando si utilizza GPE. Riavvierà l'app Web come se fosse stata ridistribuita in un server autonomo.

+0

Conosco questa soluzione. Non è male. Ma non funziona automaticamente. Sto cercando una soluzione che farà il lavoro per me. Inoltre non funzionerà per i progetti di maven gwt. – masterdany88

+0

Cosa intendi con "non funzionerà per i progetti di maven"? Se usi un IDE, ricompilerà le classi al volo (beh, a seconda dell'IDE), quindi funzionerà allo stesso modo. Senza un IDE allora sì, devi attivare una ricompilazione, per questo puoi usare gli osservatori di file. In alternativa, non è necessario ospitare il codice lato server in DevMode, ma utilizzare un contenitore servlet a cui l'IDE può eseguire la ridistribuzione automatica. –

+0

Non riesco a impostare il progetto gwt maven affinché funzioni con eclipse. Non ho l'opzione "Esegui come modalità super dev" come con GPE. ** Ma ancora non funzionerà automaticamente dopo il cambio di codice del server. Devo farlo manualmente. ** – masterdany88