Domanda

Ho un modulo di utilità per GWT che non ha un'interfaccia utente (quindi, non esiste una classe che eredita da com.google.gwt.core.client.EntryPoint . Quando provo a compila questo modulo con GWT 1.7.1, ottengo questo errore:

[ERROR] Module has no entry points defined

Come posso eliminare questo errore? Devo davvero definire un punto di accesso fittizio? In che modo Google ha mai compilato i propri moduli di utilità ???

È stato utile?

Soluzione 3

Sto usando il plugin gwt-maven-plugin Maven2 per compilare il mio codice. Ho migrato il codice da una vecchia versione del plug-in maven-googlewebtoolkit2-plugin . Per il vecchio plug-in, ho dovuto specificare quali moduli erano punti di ingresso in questo modo:

                <compileTargets>
                    <param>com.project.module.Module</param>
                </compileTargets>

Per il nuovo plugin, è

                <module>com.project.module.Module</module>

Poiché il plug-in non è riuscito a trovare i moduli da compilare, cerca " *. gwt.xml " e li ha compilati tutti in "moduli UI" (che deve avere un punto di ingresso).

Altri suggerimenti

I vasetti di utilità non devono essere compilati da GWT.

Se vuoi solo riutilizzarlo come libreria in altre applicazioni GWT, devi solo jarare i file .class e .java in un jar e assicurarti di avere un .gwt.xml che indichi dove si trova l'origine client è. Se segui le convenzioni (classi client nel client), puoi farcela, altrimenti devi specificare un tag per il pacchetto client

Quindi assicurati di ereditare questo .gwt.xml nei progetti in cui desideri compilare un punto di ingresso.

No, non è necessario un EntryPoint. Ecco un esempio di uno dei miei moduli che non ne ha uno:

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="grid" />
    <inherits name="com.google.gwt.user.User"/>
</module>

La risposta breve è che non si compila il codice nei moduli. GWT ne ha solo bisogno come codice sorgente. Quando compili il tuo modulo principale (quello con il punto di ingresso) utilizza l'origine di tutti gli altri moduli che hai ereditato nel tuo file .gwt.xml per compilare l'intero progetto.

Abbiamo un modulo di utilità, che costruisce & amp; gestisce alcuni elementi dell'interfaccia utente comuni e un sacco di attività comuni javascript / json.

Sembra che quello che abbiamo fatto (anche migrato dal plugin totsp al plugin codehaus da qualche parte lungo la linea) fosse di includere un punto di ingresso nel modulo util; era solo vuoto. (Include il commento "Intenzionale no-op").

Quindi il pom si riferisce semplicemente alla cosa come una dipendenza.

Se si utilizza il plug-in GWT di eclipse, è sufficiente rimuovere il modulo senza un EntryPoint dall'elenco dei moduli che appare appena prima della compilazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top