Impossibile utilizzare la classe nel pacchetto client con GWT
Domanda
Sto cercando di usare la classe myType dichiarata nel pacchetto com.mycompany.myproject in una classe in cui vive com.mycompany.myproject.client ma sto riscontrando i seguenti errori durante la compilazione:
[ERRORE] Riga [X]: l'importazione com.mycompany.myproject.myType non può essere risolto
Se provo a eseguire il browser ospitato ottengo:
[ERRORE] Riga [X]: non è disponibile alcun codice sorgente per il tipo com.mycompany.myproject.myType; hai dimenticato di ereditare un requisito Modulo?
Qualche idea?
Soluzione
Questo errore indica che il compilatore GWT non riesce a trovare la tua classe. Il compilatore GWT può trovare solo le classi a cui fa riferimento il file .gwt.xml per il tuo progetto.
È tutto spiegato qui: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects. html
Altri suggerimenti
Il compilatore cerca innanzitutto il modulo.g.gt.XML dell'app. Il modulo XML può quindi o ereditare altri moduli xml. I moduli possono anche dichiarare quali pacchetti desiderano rendere visibili al compilatore.
Uno non posiziona solo & # 8226; file .java sul percorso di compilazione, ma deve avere il meccanismo XML del modulo. Questo perché non tutti i pacchetti secondari dovrebbero essere traslabili, ad esempio un componente servlet che complimenta un componente previsto dal lato client.
struttura del progetto:
- com.mycompany.service
- com.mycompany.myproject
- client
- servizi
- myproject.gwt.xml
il pacchetto sorgente di default è " client " che si trova nella stessa directory con file gwt.xml. Se si desidera aggiungere o modificare la directory di origine, è necessario modificare gwt.xml.
1) ad esempio, si desidera rendere disponibile per il pacchetto gwt " com.my ~ ny.p ~ ct.service " ;. Nel file gwt.xml aggiungi & Lt; percorso sorgente = " servizio " / > ;.
valori dell'attributo path come " ../ " ;, ". " - non funzionerà.
2) se si desidera rendere disponibile " com.my ~ ny.service " pacchetto.
crea il modulo (file gwt.xml) in com.mycompany,
dove hai la directory di origine dei punti
ed eredita il modulo utente gwt predefinito.
Avevo un problema simile e sono riuscito a capire un soluzione alternativa che potrebbe aiutarti in questa situazione.