6
votes

Vérifiez la chaîne d'héritage du module; Il peut ne pas nuire à un module requis ou à un module peut ne pas ajouter correctement ses entrées de chemin source.

Je souhaite créer un projet GWT Maven avec plusieurs modules GWT. Certains d'entre eux ne sont que des modules utilitaires signifie qu'ils n'ont pas de point d'entrée. Fondamentalement, j'ai déjà un projet GWT avec plusieurs modules GWT et je l'ai converti sur Maven, mais pendant que la compilation me donne à la suite d'une exception:

[erreur] Impossible de trouver le type 'in.appops.showcase.web.gwt.uploadservice.client.uploadservice' [info] [Erreur] Astuce: Les erreurs de compilation précédentes peuvent avoir fait ce type Indisponible [Info] [Erreur] Astuce: Vérifiez la chaîne d'héritage de votre module; il peut ne pas nuire à un module requis ou à un Le module peut ne pas être ajouté à ses entrées de chemin source correctement p> BlockQuote>

Mon projet contient des modules de noyau et de dépossates qui sont des modules utilitaires sans point d'entrée et d'autres module de téléchargement qui a un point d'entrée qui hérite du module de base. P>

donc je mets Core.gwt. XML, DISPATCH.GET.XML Dans leurs packages, c'est-à-dire en SRC / Main / Java elle-même et uploardservice.gwt.xml dans le dossier Ressources de Maven. En outre, dans pom.xml, je fournis aux modules de compiler: P>

<configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>gwt-maven-plugin</artifactId>
                                    <version>2.4.0</version>
                                    <goals>
                                        <goal>clean</goal>
                                        <goal>resources</goal>
                                        <goal>compile</goal>
                                        <goal>i18n</goal>
                                        <goal>generateAsync</goal>
                                    </goals>
                                    <configuration>
                                        <runTarget>Index.html</runTarget>
                                        <hostedWebapp>${webappDirectory}</hostedWebapp>
                                         <modules>
                                            <!-- <module>platform.bindings.web.gwt.dispatch.Dispatch</module>
                                             <module>platform.core.Core</module>   -->
                                            <module>showcase.web.gwt.addressbook.AddressBook</module>
                                            <module>showcase.web.gwt.uploadservice.UploadService</module>
                                        </modules> 
                                    </configuration>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>


0 commentaires

3 Réponses :


0
votes

Votre uploadservice.gwt.xml doit être dans SRC / Main / Ressources / in / AppoPs / Vitrine / Web / GWT / Uploadservice . D'autres descripteurs de module GWT doivent également être dans leurs packages.


1 commentaires

Si j'utilise votre approche, mon projet est en cours d'exécution, mais la structure de dossiers doit être maintenue à la place, nous pouvons l'utiliser directement dans le dossier Java. Merci de votre aide.



4
votes

note 1 - strong> Lors de l'utilisation de GWT Standard Approchez votre structure de dossier

    src/main/java/showcase/web/gwt/yourmodule/yourmodule.gwt.xml
    src/main/java/showcase/web/gwt/yourmodule/client 
    src/main/java/showcase/web/gwt/yourmodule/public 

Your pom references 
    <module>showcase.web.gwt.addressbook.AddressBook</module>
    <module>showcase.web.gwt.uploadservice.UploadService</module>

Your .gwt.xml file location
    src/main/java/showcase/web/gwt/addressbook/AddressBook.gwt.xml
    src/main/java/showcase/web/gwt/uploadservice/UploadService.gwt.xml


3 commentaires

Mais est-il nécessaire que tout le GWT.XML doit être dans le dossier Ressources ou comme vous l'avez mentionné dans Java Dossier.Je suis peu confus. Et si, lors de la création d'un projet GWT-Maven, je souhaite spécifier 4 modules GWT comme nous ajoutons le module PARAM et la valeur GWTMODULE Nom. Alors qu'est-ce que tu es les étapes?


Je préfère la manière des équipes Google de pousser .gwt.xml dans le dossier Java. Même de petits changements en ce sens que cela signifie un effort supplémentaire pour le maintenir, documenter et rendre les autres la comprendre. Si votre code a une modularité d'emballage claire, vous devez opter pour scinder le projet dans plusieurs "sous-modules" maven "


Vous pouvez mettre des fichiers .gwt.xml dans le dossier Java, mais d'autres fichiers .properies ou .xml doivent figurer dans leur dossier SRC / Main / Ressources respectif, car lorsque nous l'emballons, cela peut vous poser problème car BYDEFAULT ne comprendra pas ces ressources. En guerre, fichier d'oreille. o.w besoin de le spécifier dans pom.xml



1
votes

Si cette erreur se produit lors du chargement du point d'entrée, vous devrez peut-être modifier les balises dans votre fichier * .gwt.xml.

Après avoir changé ma structure de colis, j'ai pu corriger avec succès l'erreur ", vérifiez la chaîne d'héritage de votre module; il peut ne pas nuire à un module requis ou qu'un module peut ne pas ajouter correctement ses entrées de chemin source".

  • Dans votre fichier .gwt.xml, recherchez les balises source près du bas du fichier.
  • revenir à une commission de travail antérieure ou ouvrir un projet de travail connu
  • Prenez note du modèle que les balises de source de travail suivent par rapport à la structure de votre projet de votre projet de travail.
  • Rouler en avant à la commission cassée
  • Modifiez votre ou vos balises source pour correspondre à la structure de package en cours, suivant le même motif.


    De plus, vous devez vérifier que vous disposez des balises hérités appropriées dans votre fichier .gwt.xml. Par exemple, vous obtiendrez une erreur similaire si vous essayez d'utiliser SmartGWT sans la balise hérite Nom = "com.smartgwt.smartgwt"


0 commentaires