2010-08-26 4 views
0

Je travaille sur un module gwt qui est construit en utilisant le système de construction maven. I avait un module de travail qui avait la structure de projet suivante.Complie problème avec le projet personnalisé GWT strcuture

nom_projet/src/main/java/pkg1/PKG2/pkg3/EntryPoingClass
nom_projet/src/homme/ressources/pkg1/PKG2/ModuleDef.gwt.xml

la définition du module était à la recherche comme celui-ci (j'ai mis que ces paramètres spécifiques projet ici ... inherits normaux ne sont pas spécifiés pour par souci de concision)

...
< point d'entrée class = 'pkg1.pkg2.pkg3.EntryPointClass'/>
Chemin source < = 'pkg3'/>
...

Je ne suis pas un grand fan d'avoir des paquets sous dans le dossier des ressources. D'où je suis en train de changer quelque chose comme ce qui suit

nom_projet/src/main/java/pkg1/PKG2/pkg3/EntryPoingClass
projet Nom/src/homme/ressources/ModuleDef.gwt .xml

a également modifié la définition du module à

...
< classe point d'entrée = 'pkg1.pkg2.pkg3.EntryPointClass'/>
< chemin source = 'pkg1.pkg2.pkg3'/> < - Depuis la définition du module n'est pas dans un paquet je spécifie l'ensemble du paquet 'client' ici - >
...

après cela, l'invocation échoue avec GWT compilation l'erreur suivante

Impossible de trouver le type « pkg1.pkg2.pkg3.EntryPointClass »

Quelqu'un peut-il me dire s'il y a une relation entre la structure de l'ensemble EntryPointClass et le packag de définition de module e en dehors du fait que EntryPointClass doit être dans le paquet 'client' spécifié dans la définition du module (lequel est satisfait ici)? Btw, j'ai pu voir que les classes compilées sont disponibles dans le chemin de classes lors de l'appel du compilateur gwt.

Toute aide à cet égard est grandement appréciée.

Répondre

0

Le compilateur GWT a besoin de sources de classes côté client, et pas seulement de bytecode compilé. Est-ce dans le classpath?

Dans mon entreprise, nous avons toujours mis pom.xml pour copier les sources pour cibler les ressources:

<build> 
<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    </resource> 
    <resource> 
    <directory>src/main/java</directory> 
    <includes> 
     <include>**/client/**/*.java</include> 
     <include>**/*.gwt.xml</include> 
    </includes> 
    </resource> 
</resources> 
</build> 

changement **/client/**/*.java à tout satisfait vos besoins (probablement pkg1/pkg2/pkg3/**/*.java). De cette façon, les sources de la partie client sont toujours dans classpath.

Questions connexes