Pergunta

Eu tenho um módulo utilitário para GWT, que não tem uma UI (daí, não existe uma classe que herda de com.google.gwt.core.client.EntryPoint Quando tento compilar este módulo com GWT 1.7.1, eu recebo este erro:.

[ERROR] Module has no entry points defined

Como faço para me livrar deste erro? Eu realmente tenho para definir um ponto de entrada manequim? Como é que o Google nunca compilar sua própria utilidade módulos ???

Foi útil?

Solução 3

Eu estou usando o gwt-maven-plugin Maven2 plugins para compilar meu código. Migrei o código de uma versão antiga do plugin maven-googlewebtoolkit2-plugin. Para o antigo plugin, eu tive que especificar quais módulos foram pontos de entrada assim:

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

Para o novo plug-in, é

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

Uma vez que o plugin não poderia encontrar quais módulos para compilar, é procurar por "* .gwt.xml" e compilado todos eles em "UI módulos" (que deve ter um ponto de entrada).

Outras dicas

Utilidade Jars não precisa ser compilado por GWT.

Se você quiser apenas para reutilizar este como uma biblioteca em outras aplicações GWT, então você apenas tem que sacudir o .class e .java arquivos em uma jarra e certificar-se de que você tem um .gwt.xml que diz onde a fonte de cliente é. Se você seguir as convenções (classes de cliente em cliente), então você pode começar afastado com apenas caso contrário, você precisa especificar um tag para o pacote do cliente

Em seguida, certifique-se de herdar esta .gwt.xml nos projetos em que você deseja compilar um ponto de entrada.

Não, você não precisa de um EntryPoint. Aqui está um exemplo de um dos meus módulos que não tem um:

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

A resposta curta é que você não compilar o código em módulos. GWT só precisa-los como código-fonte. Quando você compilar seu módulo principal (aquele com o ponto de entrada) ele usa a fonte de todos os outros módulos que você herdou em seu arquivo .gwt.xml para compilar todo o projeto.

Nós temos um módulo de utilitários, que constrói e manipula alguns elementos de interface do usuário comuns, e um monte de javascript / JSON tarefas comuns.

Parece que o que fizemos (também migraram do plug-in totsp a algum lugar codehaus plug-in ao longo da linha) foi a de incluir um ponto de entrada na util módulo; era apenas vazio. (Inclui o comentário "intencional não-op").

Então, o pom apenas refere-se a coisa como uma dependência.

Se estiver usando eclipse GWT plugin de apenas remover o módulo sem um EntryPoint do moduleslist que aparece apenas antes de compilar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top