2010-04-13 4 views
20

J'essaie de déplacer notre développement Google Web Toolkit (GWT) d'Eclipse à IntelliJ 9 Community edition. Jusqu'à présent, j'ai pu exécuter et déboguer du code client/serveur avec succès via le plugin GWT Maven et son conteneur Jetty intégré.Est-il possible de déboguer du code client GWT sur un serveur REMOTE à l'aide d'IntelliJ 9 Community Edition?

Toutefois, je rencontre des problèmes pour déboguer le code client lorsqu'il est déjà exécuté sur une machine distante (et par conséquent, le conteneur Jetty intégré n'est pas nécessaire).

Quelqu'un at-il réussi à atteindre cet objectif? Toute aide serait appréciée!

MISE À JOUR: J'ai finalement réussi à accomplir cela. S'il vous plaît voir ma propre réponse ci-dessous ...

+0

Que voulez-vous dire par "avoir des ennuis"? AFAIR, sur Google I/O 2009, il y avait une présentation montrant le débogage d'une application GWT qui fonctionnait sur une machine virtuelle (le débogage était fait à partir de la machine hôte). Cela semble parfaitement faisable (par défaut, le plugin du navigateur se connecte à 127.0.0.1) - n'oubliez pas d'ajouter une adresse IP appropriée à la liste blanche du plugin OOPHM Firefox. –

+0

@Nadav: L'édition communautaire d'IntelliJ IDEA est-elle bonne pour le développement de GWT?Pour "Java Web development" (comme, par exemple, JSPs et Servlet) l'édition de la communauté est sûre que **** fois :( – SyntaxT3rr0r

+0

@WizardOfOdds: Je suppose que cela dépend de ce que vous définissez comme bon :) Si cela ne vous dérange pas d'avoir pour ajouter manuellement les configurations d'exécution/débogage à la main, c'est un éditeur génial pour GWT. Fondamentalement, car il peut très bien faire Java et Maven, GWT correspond presque parfaitement. En plus de ce que j'ai déjà mentionné, la seule chose qui manque est le support CSS (ou JSP d'ailleurs) - si vous me demandez, c'est déjà beaucoup mieux qu'Eclipse. – Nadav

Répondre

21

J'ai finalement pu accomplir ceci en utilisant la classe DevMode de GWT, comme décrit dans the documentation.

En bref -

  • Ajouter votre projet IntelliJ 9 Community Edition
  • Ajouter une application run/configuration de débogage
  • Utilisez com.google.gwt.dev.DevMode comme classe principale (assurez-vous d'inclure les fichiers gwt-user et gwt-dev jars dans le classpath du projet Voir here)
  • Ajouter le programme suivant p aramètres:

    -noserver -war "[chemin complet à votre guerre a explosé]" -gen "[chemin complet vers les fichiers générés]" -logLevel INFO -port [port serveur distant] -startupUrl « [URL du page distante] »[com.company.YourEntryPoint]

de cette façon, le coureur DevMode ne sera pas instancier intégré dans le récipient et permettra le JavaScript de votre serveur distant à déboguer sous sa forme Java d'origine. Notez que pour les versions qui ne nécessitent pas le débogage du code client distant, vous pouvez utiliser l'intégration Maven ou Ant, ce qui est beaucoup plus simple. Je n'ai aucune expérience avec le build.xml généré par webAppCreator, mais avec Maven vous pouvez simplement lancer les objectifs gwt: run ou gwt: debug avec ce paramètre: -DrunTarget =

Espérons que ça aide!

1

Lors de l'exécution d'une application GWT déployée sur un serveur distant, la partie client de votre application aura été traduite en javascript, donc je ne pense pas que vous serez en mesure de déboguer cela IntelliJ . La partie côté serveur de votre application sera toujours du code Java. Vous devriez être capable de démarrer ce serveur distant avec des paramètres de débogage java (des choses comme un type de transport et un port à écouter). À partir d'IntelliJ, vous devriez pouvoir démarrer une session de débogage à distance en utilisant le même type de transport et port. Si vous cherchez dans le débogage à distance, vous devriez être capable de trouver comment faire cela.

Questions connexes