J'ai un module utilitaire pour GWT qui n'a pas d'interface utilisateur (par conséquent, il n'y a pas de classe qui hérite de com.google.gwt.core.client.entrypoint code>. Quand j'essaie de compiler ce module avec GWT 1.7.1, je reçois cette erreur:
[ERROR] Module has no entry points defined
5 Réponses :
Non, vous n'avez pas besoin d'un point d'entrée. Voici un exemple de l'un de mes modules qui ne possède pas une: 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 la source à partir de tout autre modules que vous avez hérité dans votre fichier .gwt.xml pour compiler tout le projet. P> P>
+1 Cela n'a pas résolu mon problème, mais m'a signalé dans la bonne direction.
J'utilise le pour le nouveau plugin, c'est P> car Le plugin n'a pas pu trouver quels modules compiler, il recherchent "* .gwt.xml" et les compila tous dans "Modules UI" (qui doivent avoir un point d'entrée). P> P> GWT-Maven-Plugin Code> Maven2 Plugin pour compiler mon code. J'ai migré le code d'une ancienne version du
Maven-GoogleWebBtToolKit2-Plugin Code> Plugin. Pour l'ancien plugin, je devais spécifier quels modules étaient des points d'entrée, comme:
Les pots utilitaires n'ont pas besoin d'être compilés par GWT. P>
Si vous souhaitez simplement réutiliser cela comme une bibliothèque dans d'autres applications GWT, il vous suffit de jar les fichiers .Class et .java dans un pot et assurez-vous que vous avez un .gwt.xml qui dit où la source du client est. Si vous suivez les conventions (classes clientes dans le client), vous pouvez vous en tirer simplement sinon vous devez spécifier une balise pour le package client P>
p>
Assurez-vous que vous héritez de cela .gwt.xml dans les projets où vous souhaitez compiler un point d'entrée. P>
La chose agaçante est que si vous utilisez accidentellement un code non disponible dans le client GWT, il ne provoquera pas d'erreur avant d'essayer de la compiler dans l'application complète. Ainsi, vous pouvez produire des pots d'utilité, comme vous les appelez, qui ne sont pas réellement valables pour une utilisation par GWT. Y a-t-il un moyen autour de cela?
Nous avons un module d'utilitaires, qui construit et gère des éléments d'interface utilisateur courants et un tas de tâches communes JavaScript / Json. P>
On dirait que ce que nous avons fait (a également migré de la plugin TOTSP au plugin CODEHAUS quelque part sur la ligne) consistait à inclure un point d'entrée dans le module UTIL; C'était juste vide. (Cela inclut le commentaire «No-Op intentionnel»). p>
Puis le POM fait simplement référence à la chose comme une dépendance. P>
Si vous utilisez Eclipse GWT Plugin, supprimez simplement le module sans un débardeur de la liste de modules qui apparaît juste avant de compiler. p>
Mais vous avez besoin d'au moins une par application: est-ce couvert?
Ouais. J'ai un point d'entrée dans un autre module. Je suis juste enlevé comment je peux compiler un module sans EP.