Pregunta

Tengo un módulo de utilidad para GWT que no tiene una UI (por lo tanto, no hay ninguna clase que herede de com.google.gwt.core.client.EntryPoint . Cuando intento compile este módulo con GWT 1.7.1, obtengo este error:

[ERROR] Module has no entry points defined

¿Cómo me deshago de este error? ¿Realmente tengo que definir un punto de entrada ficticio? ¿Cómo compiló Google alguna vez sus propios módulos de utilidades?

¿Fue útil?

Solución 3

Estoy utilizando el complemento gwt-maven-plugin Maven2 para compilar mi código. Migré el código de una versión anterior del complemento maven-googlewebtoolkit2-plugin . Para el plugin anterior, tuve que especificar qué módulos eran puntos de entrada como:

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

Para el nuevo complemento, es

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

Como el complemento no pudo encontrar qué módulos compilar, busca " *. gwt.xml " y los compilé todos en " Módulos de interfaz de usuario " (que debe tener un punto de entrada).

Otros consejos

GWT no necesita compilar los Jars de utilidad.

Si solo desea reutilizar esto como una biblioteca en otras aplicaciones GWT, solo tiene que agrupar los archivos .class y .java en un jar y asegurarse de tener un archivo .gwt.xml que indique dónde se encuentra la fuente del cliente. es. Si sigue las convenciones (clases de cliente en el cliente), puede salirse con la suya, de lo contrario, deberá especificar una etiqueta para el paquete del cliente

Luego, asegúrate de heredar este .gwt.xml en los proyectos donde quieres compilar un punto de entrada.

No, no necesitas un EntryPoint. Aquí hay un ejemplo de uno de mis módulos que no tiene uno:

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

La respuesta corta es que no compilas código en módulos. GWT solo los necesita como código fuente. Cuando compila su módulo principal (el que tiene el punto de entrada), utiliza la fuente de cualquier otro módulo que haya heredado en su archivo .gwt.xml para compilar todo el proyecto.

Tenemos un módulo de utilidades, que construye & amp; maneja algunos elementos comunes de la interfaz de usuario y un montón de tareas comunes de javascript / json.

Parece que lo que hicimos (también migramos desde el complemento Totsp al complemento Codehaus a lo largo de la línea) fue incluir un punto de entrada en el módulo util; estaba vacío. (Incluye el comentario "Intencional no-op").

Luego, el pom se refiere a la cosa como una dependencia.

Si utiliza el complemento GWT de eclipse, simplemente quite el módulo sin un EntryPoint de la lista de módulos que aparece justo antes de compilar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top