2010-04-09 3 views
1

Je développe une application GWT qui utilise EJB et d'autres technologies Java EE 6 comme backend. J'utilise actuellement le plugin GWT 2.0 pour Safari. Lorsque je change mon code côté client GWT et que je sauvegarde dans mon IDE (NetBeans), tout ce qui est requis est un simple rechargement dans le navigateur pour que les changements deviennent actifs. Cela fonctionne très bien!Actualiser le backend dans le développement GWT

Cependant, souvent je travaille sur le côté serveur (les EJB, le code du serveur GWT, etc.) et ensuite quelque chose sur le côté client GWT. Toute modification effectuée côté serveur ne semble pas se déployer de manière incrémentielle sur le serveur Glassfish V3. Actuellement, je ferme l'application GWT Development Mode, puis recompile les EJB, puis retourne en mode GWT Development. C'est fastidieux.

Une meilleure façon de faire? J'ai essayé l'option "deploy on save" dans NetBeans mais cela ne semble pas faire l'affaire.

Répondre

1

L'astuce consiste à créer un répertoire d'oreille éclaté (au lieu d'un fichier ear) et à le déployer dans votre serveur d'applications. Il fonctionne dans JBoss et Weblogic, et devrait travailler dans glassfish, mais ne l'ai pas essayé. L'idée est que vous n'utilisez aucune archive du tout. Dans vos répertoires de guerre, créez un dossier WEB-INF/classes et configurez votre IDE pour écrire les fichiers de classe dans ce répertoire. De cette façon, lorsque vous modifiez un fichier java dans votre IDE, il écrira dans votre répertoire de classes et la JVM déploiera à chaud vos classes.

Il existe certaines restrictions avec cette approche. Si vous modifiez une signature de méthode ou si vous ajoutez une classe ou une nouvelle méthode, la machine virtuelle Java ne peut pas la récupérer. Dans ce cas, en touchant web.xml redéploie le fichier WAR. Cela constitue en soi une amélioration par rapport au redémarrage de l'ensemble du serveur d'applications.

Il faut une heure ou deux pour obtenir la bonne configuration, mais après cela, vous allez adorer.

+0

Merci, je vais essayer ça! –

Questions connexes