2010-02-26 7 views
14

Quelqu'un peut-il expliquer où le plugin Eclipse GWT définit ses points d'entrée? Pour tenter de faire fonctionner à nouveau mon ancien projet GWT avec GWT 2.0, j'ai créé un projet GWT 2.0 par défaut dans Eclipse et j'ai réussi à l'exécuter avec succès. C'est celui qui demande un nom et appelle le servlet 'greet' sur le serveur, qui répond etc ... jusqu'ici tout va bien. J'ai ensuite transféré toutes les classes de mon ancien projet GWT Maven vers ce nouveau projet GWT dans l'espoir de faire fonctionner les appels RPC. Il avait beaucoup de dépendances, donc j'ai aussi copié sur le pom.xml maven, commenté tous les plugins liés au gwt dans le pom, et réussi à obtenir le plugin maven Eclipse M2Eclipse pour reconnaître le pom et adopter toutes les dépendances maven. Tous les problèmes dans Eclipse sont maintenant résolus et il semble bon d'y aller.GWT Boîte de dialogue «Ajouter un module de point d'entrée»

Cependant, lorsque je clique sur l'icône de compilation GWT du projet, une boîte de dialogue "GWT Compile" apparaît et me demande maintenant "Ajouter un module de point d'entrée". Vous ne pouvez pas choisir de points d'entrée dans cette boîte de dialogue. C'est frustrant parce que j'ai gardé exactement le même GWTApp.gwt.xml et déplacé mon code dans la classe GWTApp.java générée automatiquement.

Je ne peux pas imaginer pourquoi le plugin Eclipse ne regarde pas dans le fichier GWTApp.gwt.xml pour déterminer quels sont les points d'entrée.

Quelqu'un peut-il expliquer comment ces points d'entrée sont définis ou suggérer pourquoi le projet a cessé de fonctionner?

Merci!

Répondre

6

Merci pour les suggestions à ma question - vous m'a incité à trouver la réponse. J'ai regardé et n'ai pas eu de filtres d'exclusion, mais j'ai vérifié le chemin de construction Java dans les propriétés du projet. Lorsque j'ai ajouté les dépendances maven, il doit avoir implicitement changé le répertoire source défini du projet GWT eclipse. (Probablement à src/main/java ou quel que soit ce chemin par défaut de maven long-muet muet est). Eclipse n'indiquait pas que les classes Java n'étaient pas sur le chemin de génération du projet. Une fois que j'ai défini le répertoire src explicitement pour le projet, le module gwt.xml est apparu dans la boîte de dialogue GWT Compile!

Sur le prochain obstacle ... car il ne fonctionne toujours pas encore!:(

Merci pour votre aide!

7

Juste pour être sûr, ce ne serait pas semblable à this case, où le filtre d'exclusion était un peu trop grand?

<classpathentry kind="src" output="target/classes" path="src/main/java"/> 
<classpathentry excluding="**" kind="src" output="target/classes" 
    path="target/base-resources"/> 

Je pense que vous pouvez avoir un filtre d'exclusion qui est trop agressif sur votre répertoire « target/base-resources ».
Il semble que vous ayez un filtre d'exclusion de "* *". Est-ce que ça ne va pas tout?

Vous avez raison! C'était le problème! :)))
Je ne savais pas ce que le filtre d'exclusion était et en quelque sorte il a été ajouté automatiquement au cours du développement.

0

Cliquez avec le bouton droit sur le projet et sélectionnez les propriétés. Développez et sélectionnez Google -> Web Toolkit. Le volet de droite aura une section appelée Modules de point d'entrée. Cliquez sur le bouton Ajouter et sélectionnez votre fichier .gwt.xml.

3

plugin maven éclipse de Sonatype est tristement célèbre pour beaucoup de choses. L'un d'eux est l'exclusion de tous les fichiers de votre ressources dossier maven pour un module donné chaque fois que vous lui permettre de reconstruire l'éclipse classpath.

m2eclipse sera probablement la seule raison que je réévaluer en utilisant Intellij ...

2

J'ai eu le même problème.

Faites un clic droit le projet et les propriétés de sélection ...

La boîte de dialogue était vide (aucun point d'entrée suggéré).
Après quelques recherches, j'ai trouvé que le fichier mymodule.gwt.xml était accidentellement marqué comme "lib" dans .classpath (fichier de projet eclipse à la racine du dossier du projet). Je semble qu'il a été marqué comme "lib" sur la génération automatique de .classpath (j'importais le projet propre de GWT de maven, pas le projet d'éclipse).

Il suffit de supprimer la ligne avec le fichier mymodule.gwt.xml du fichier .classpath, car il se trouve dans src/main/resources, c'est-à-dire normal "src" classpath.

17

Je suis certain que ce qui suit est le problème et la solution. Je fais du GWT depuis environ 6 ans. Chaque fois que vous importez un maven existant (à partir d'un archtype généré par Mojo, mais probablement d'autres) dans Eclipse, vous obtiendrez une configuration interrompue qui ne vous permettra pas de déboguer tant que vous ne l'aurez pas corrigé. Mais la solution est simple. Ce qui se passe est que le chemin de compilation sera défini pour exclure tous les fichiers de '[proj]/src/main/resources', ce qui aura pour effet de cacher le fichier du module [proj] .gwt.xml d'eclipse. Donc, toutes les boîtes de dialogue GWT qui recherchent ces modules ne peuvent pas les voir! Donc, vous ne pouvez même pas créer une configuration de débogage qui fonctionne.

Voici la solution:

Cliquez droit sur le projet, et ouvrez les propriétés -> Construire dialogue Chemin -> onglet Source et recherchez une fin en » .../src/main/resources', et vous verrez qu'il a exclu: . Donc mettez en surbrillance juste cette entrée et supprimez le '', de sorte qu'il se lit "Exclu: (Aucun)". Maintenant, les boîtes de dialogue (à savoir la boîte de dialogue de configuration du débogage), pour GWT verront tous votre fichier de module, et tout fonctionnera.

+0

Je vais essayer ceci si cela résout mon problème vous êtes un génie :) –

+0

DAMN QUI L'EST! : D vous êtes un génie !!! –