Est-il possible de déboguer le code client GWT sur un serveur distant en utilisant IntelliJ 9 Community Edition?
j'essaie de faire passer le développement de Google Web Toolkit (GWT) D'Eclipse à IntelliJ 9 Community edition. Jusqu'à présent, j'ai été capable d'exécuter et de déboguer le code client/serveur avec succès via le plugin GWT Maven et son conteneur Jetty intégré.
cependant, j'ai de la difficulté à déboguer le code client quand il est déjà en cours d'exécution sur une machine distante (et donc il n'y a pas besoin de l'embedded Jetty container).
quelqu'un A réussi à atteindre cet objectif? Toute aide serait appréciée!
mise à jour: j'ai finalement pu accomplir ceci. Veuillez consulter ma propre réponse ci-dessous...
2 réponses
j'ai finalement été capable d'accomplir ceci en utilisant GWT's DevMode classe, comme décrit dans la documentation.
En bref -
- ajoutez votre projet à IntelliJ 9 Community edition
- Ajouter un Application exécuter / déboguer la configuration
- Utiliser com.Google.gwt.dev.DevMode en tant que classe principale (assurez-vous d'inclure gwt-user et gwt-dev jars dans la classe projetpath. Voir ici)
ajouter les paramètres de programme suivants:
-noserver -guerre "[chemin d'accès complet à votre explosé de guerre]" -gen "[chemin d'accès complet aux fichiers générés]" -logLevel INFO-port [port du serveur à distance] -startupUrl "[URL de la télécommande page]" [com.entreprise.YourEntryPoint]
de cette façon, le coureur DevMode n'instanciera pas le conteneur intégré et permettra à votre JavaScript de serveur distant d'être débogué dans son forme Java originale.
notez que pour les constructions qui ne nécessitent pas de débogage du code client distant, vous pouvez utiliser Maven ou Ant integration, ce qui est beaucoup plus simple. Je n'ai aucune expérience avec la construction générée par webAppCreator.xml, mais avec Maven vous pouvez simplement lancer les objectifs gwt:run ou gwt:debug avec ce paramètre: - DrunTarget=
j'Espère que ça aide!
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 D'IntelliJ. La partie Côté Serveur de votre application sera toujours du code Java. Vous devriez pouvoir démarrer ce serveur distant avec des paramètres de débogage java (des choses comme un transporttype et un port à écouter). À partir D'IntelliJ, vous devriez être en mesure de démarrer une session de débogage à distance en utilisant le même type de transport et port. Si vous regardez dans le débogage à distance, vous devriez être capable de trouver comment faire.