Question

J'ai un module utilitaire pour GWT qui n'a pas d'interface utilisateur (par conséquent, aucune classe n'hérite de com.google.gwt.core.client.EntryPoint . Lorsque j'essaie de compiler ce module avec GWT 1.7.1, j’obtiens cette erreur:

[ERROR] Module has no entry points defined

Comment puis-je me débarrasser de cette erreur? Dois-je vraiment définir un point d'entrée factice? Comment Google a-t-il jamais compilé ses propres modules utilitaires ???

Était-ce utile?

La solution 3

J'utilise le plugin gwt-maven-plugin Maven2 pour compiler mon code. J'ai migré le code d'une ancienne version du plug-in maven-googlewebtoolkit2-plugin . Pour l'ancien plugin, je devais spécifier quels modules étaient des points d'entrée comme suit:

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

Pour le nouveau plugin, il est

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

Comme le plug-in n'a pas pu trouver les modules à compiler, il a recherché "*. gwt.xml". et les a tous compilés dans des "modules d'interface utilisateur". (qui doit avoir un point d’entrée).

Autres conseils

Les fichiers JAR n’ont pas besoin d’être compilés par GWT.

Si vous souhaitez simplement réutiliser ceci en tant que bibliothèque dans d'autres applications GWT, il vous suffit de copier les fichiers .class et .java dans un seul fichier et de vous assurer que vous disposez d'un fichier .gwt.xml indiquant l'emplacement de la source client. est. Si vous suivez les conventions (classes client dans client), vous pouvez vous en tirer, sinon vous devez spécifier une balise pour le package client

.

Assurez-vous ensuite que vous héritez de ce fichier .gwt.xml dans les projets pour lesquels vous souhaitez compiler un point d'entrée.

Non, vous n’avez pas besoin d’un EntryPoint. Voici un exemple de l'un de mes modules qui n'en a pas:

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

La réponse courte est que vous ne compilez pas le code dans les modules. GWT a juste besoin d'eux comme code source. Lorsque vous compilez votre module principal (celui avec le point d’entrée), il utilise le source de tous les autres modules dont vous avez hérité dans votre fichier .gwt.xml pour compiler l’ensemble du projet.

Nous avons un module d’utilitaires qui construit & amp; gère des éléments d’interface utilisateur courants et un ensemble de tâches communes javascript / json.

Il semble que ce que nous avons fait (nous avons également migré du plug-in totsp vers le plug-in codehaus un peu plus loin) consistait à inclure un point d'entrée dans le module util; c'était juste vide. (Il inclut le commentaire "Intentionnel non-op").

Ensuite, le pom se réfère simplement à la chose comme une dépendance.

Si vous utilisez le plug-in eclipse GWT, supprimez simplement le module sans EntryPoint de la liste des modules qui apparaît juste avant la compilation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top