Vai al contenuto
Home » Notes » Guida GWT Google Web Toolkit con Eclipse

Guida GWT Google Web Toolkit con Eclipse

copertina come usare gwt con eclipse installare plugin

In questa guida tutorial ti spiegherò come impostare l’ambiente di lavoro di GWT (Google Web Toolkit) con Eclipse configurando il plugin ufficiale, l’SDK e mettendo in funzione una piccola web app client-server demo.
La guida è per Microsoft Windows 10 e 11.

Cos’è GWT?

GWT è un set di strumenti per la creazione di web app in linguaggio Java.
GWT è insomma un po’ un “traduttore” che ci consente di costruire web applications per le quali avremmo bisogno di conoscere JavaScript, scrivendo solo codice Java.
Si tratta di una tecnologia un po’ datata, ancora funzionante ma non molto supportata. Ti sconsiglio di utilizzarlo se stai progettando una web app da mettere in produzione, ma potrebbe capitarti di dover lavorare con GWT per altri motivi. E questa guida è qui per aiutarti.

Guida: Come configurare GWT su Eclipse

Passo 1: Download ed installazione di Eclipse 2021-09

Come già specificato, GWT non è una tecnologia giovanissima e supportata. Purtroppo alcune delle più recenti versioni di Eclipse possono avere problemi di compatibilità. Io ti consiglio di usare la versione 2021-09 che puoi scaricare da questo link dei sito ufficiale di Eclipse.

Installa Eclipse scegliendo la versione Java:

screenshot come installare eclipse per gwt

E completando l’installazione standard:

screenshot come installare eclipse per gwt

Passo 2: Installazione del Plugin GWT

Ora ti servirà installare il plugin GWT sul tuo Eclipse. Vai alla pagina del plugin GWT per Eclipse che trovi a questo link. Tutto quello che devi fare è trascinare il pulsante Install dalla pagina alla tua finestra di Eclipse.

Segui la procedura guidata per installare il plugin confermando tutte le opzioni di default e accettando le licenze. Il plugin contiene l’SDK di GWT nelle sue versioni 2.7.0 e 2.8.0.

come installare plugine Eclipse GWT

Passo 3: Download dell’SDK 2.9.0 di GWT

Come ti dicevo, il plugin di GWT contiene tutte le funzionalità utili di GWT, ma l’SDK contenuto in questo plugin non è aggiornato.
Ti consiglio di scaricare ed installare la più recente versione 2.9.0 del GWT SDK (trovi il download sul sito ufficiale).
Se non lo fai, Le applicazioni web costruite con SDK precedenti al 2.9.0 potrebbero non funzionare.
Dopo aver completato il download, estrai lo zip e mettilo in una cartella che dovrai conservare
(nel mio esempio Documents\SDK GWT\sdk 2.9.0).

Passo 4: Importa il tuo progetto GWT

Scarica la webapp GWT demo da qui. Si tratta di un semplicissimo progetto di una web app client-server costruita sul tutorial del sito ufficiale. Necessita dell’SDK 2.9.0 per funzionare.
Estrai lo zip e posiziona la cartella stockewatcher-master dove preferisci.

A questo punto apri Eclipse, posizionati su File > Open Projects From File System.. > e scegli la cartella stockwatcher-master. Non modificare le opzioni di default e importa il progetto cliccando su Finish.

gwt open import project

Passo 5: Configura il Build Path del tuo GWT project

A questo punto dovrai configurare il Build Path del progetto, ovvero verificare le librerie che saranno utilizzate. Fai tasto destro sul progetto nel Package Explorer > Build Path > Configure build Path.. come mostrato sotto:

gwt configure build path library

Elimina le eventuali librerie non funzionanti segnalate con la crocetta rossa facendo click sul tasto Remove.

gwt build path project screenshot

Passo 6: Aggiungi l’SDK 2.9.0 di GWT

Ora aggiungi l’SDK aggiornato di GWT. Clicca su Add Library, poi GWT e Next.

screenshot gwt sdk settings

Ti saranno mostrati gli SDK vecchi, per aggiungere il nuovo prosegui cliccando sul Link Configure SDK

screenshot gwt sdk settings

Scegli la directory dove hai messo l’SDK 2.9.0 scaricato al passo 3 di questa guida, inserisci un nome qualsiasi e conferma cliccando Ok. Molto bene, ora hai aggiunto l’SDK più recente al progetto.

screenshot gwt sdk settings

Passo 7: Esegui il progetto

Finalmente puoi eseguire il progetto. Per eseguirlo in dev mode fai tasto destro sul progetto nel Package Explorer > Run as.. > Development Mode with Jetty. La console restituirà un link che puoi cliccare per aprire la web app GWT direttamente nel tuo browser!

screenshot how to run a gwt projects in dev mode with jetty

Errori

Qui sotto elencherò alcuni degli errori più comuni che si ottengono nella fase di configurazione di GWT su Eclipse. Hai qualche altro problema? Lascia un commento sotto.

Errore java.lang.classNotFoundException: sun.misc. GC GWT

Runing CodeServer with parameters: [-noprecompile, -port, 9876, -sourceLevel, 1.7, -bindAddress, 127.0.0.1, -launcherDir, C:\Users\Mattia\Desktop\StockWatch-master\war, -logLevel, INFO, com.google.gwt.sample.stockwatcher.StockWatcher]
Super Dev Mode starting up
   workDir: C:\Users\Mattia\AppData\Local\Temp\gwt-codeserver-14882626484507523791.tmp
[ERROR] jreLeakPrevention.gcDaemonFail
java.lang.ClassNotFoundException: sun.misc.GC
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:375)
	at com.google.gwt.dev.shell.jetty.JettyLauncher.jreLeakPrevention(JettyLauncher.java:859)
	at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:722)
	at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:632)
	at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1054)
	at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
	at com.google.gwt.dev.DevMode.main(DevMode.java:413)
   Loading Java files in com.google.gwt.sample.stockwatcher.StockWatcher.
   [ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly (most often by inheriting module 'com.google.gwt.user.User')

Soluzione: spesso questo problema si risolve aggiungendo al progetto una versione dell’SDK di GWT più aggiornata (ad esempio il progetto necessita della versione 2.9.0 e hai aggiunto la 2.7.0).

Il prossimo passo?

Se sei alle prime armi con GWT, il prossimo passo che può esserti utile è sicuramente capire come funziona l’architettura client-server di GWT (guida in arrivo).

Grazie per la lettura

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *