Impossible d'utiliser la classe dans le package client avec GWT
Question
J'essaie d'utiliser la classe myType déclarée dans le package. com.mycompany.myproject dans une classe qui vit dans com.mycompany.myproject.client mais je reçois les erreurs suivantes lors de la compilation:
[ERREUR] Ligne [X]: L’importation com.mycompany.myproject.myType ne peut pas être résolu
Si j'essaie de lancer le navigateur hébergé, je reçois:
[ERREUR] Ligne [X]: Aucun code source n'est disponible pour le type. com.mycompany.myproject.myType; avez-vous oublié d'hériter un requis module?
Une idée?
La solution
Cette erreur signifie que le compilateur GWT ne peut pas trouver votre classe. Le compilateur GWT ne peut rechercher que les classes référencées par le fichier .gwt.xml pour votre projet.
Tout est expliqué ici: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingPros. html
Autres conseils
Le compilateur commence par analyser le module.gwt.XML de l'application. Le module XML peut alors ou hériter d'un autre module XML. Les modules peuvent également déclarer les paquetages qu’ils souhaitent rendre visibles au compilateur.
On ne place pas simplement & # 8226; fichiers .java sur le chemin de compilation, mais il faut utiliser le mécanisme XML du module. Ceci parce que tous les sous-packages ne doivent pas nécessairement être traduisibles, par exemple un composant de servlet qui complète un composant destiné au client.
structure du projet:
- com.mycompany.service
- com.mycompany.myproject
- client
- service
- myproject.gwt.xml
le paquet source par défaut est " client " qui est placé dans le même répertoire avec fichier gwt.xml. Si vous souhaitez ajouter ou modifier le répertoire source, vous devez modifier le fichier gwt.xml.
1) par exemple, vous voulez rendre disponible pour le paquet gwt & "; com.my ~ ny.p ~ ct.service &"; Dans le fichier gwt.xml, ajoutez & Lt; chemin source = & "service &"; / >.
valeurs d'attribut path telles que & "; ../ &"; ", &";. & "; - ne fonctionnera pas.
2) si vous souhaitez rendre disponible & «; com.my ~ ny.service &»; package.
créer un module (fichier gwt.xml) dans com.mycompany,
où vous avez un répertoire de sources ponctuelles
et hériter du module utilisateur gwt par défaut.
J'avais un problème similaire et j'ai réussi à trouver un Solution de contournement qui pourrait vous aider dans cette situation.