2009-06-04 6 views
3

Y a-t-il un moyen d'accélérer le développement de JSF dans Eclipse et Tomcat?Accélérer le développement de Eclipse et JSF + Tomcat

Fondamentalement, je suis à la recherche d'un moyen de rendre les changements côté client (.jsf, .html, .css, .js) plus rapides et sans avoir à redémarrer tomcat.

Et si possible, également un moyen de faire tomcat (ou tout autre conteneur de servlet compatible Windows + Eclipse), redémarrez beaucoup plus rapidement. Parce que si je compare à mon expérience avec ASP.NET/Visual Studio/IIS, il me semble que je passe la moitié de la journée à attendre que Tomcat redémarre, et parfois même je reçois 404 dans le navigateur, car ce n'est pas aller assez vite.

Il DOIT y avoir une autre façon d'être plus productif, tout en permettant un développement plus poussé par les tests.

+0

Utilisez-vous Maven dans votre projet? –

Répondre

0

Un moyen rapide et efficace de forcer Tomcat à recompiler/recharger vos pages consiste à supprimer le répertoire de travail de Tomcat. Dans mes tests limités cela fonctionne bien mais évidemment, je ne recommanderais pas cela en production. :)

0

Je crois que MyEclipse, si configuré correctement, vous permettra de mettre à jour les applications s'exécutant dans Tomcat sans redémarrer Tomcat. C'est malheureusement un produit commercial. Oracle JDeveloper avait une copie de OC4J fournie et il était possible de faire des changements à la volée sans redémarrer le conteneur, encore une fois cela peut ne pas être possible étant donné votre environnement.

2

Juste au cas où vous utilisez Maven pour construire votre projet, vous pouvez utiliser cette ligne de commande pour tester dans Tomcat:

mvn clean war:exploded tomcat:run 

Cela prendra un mince instance de Tomcat (tomcat: exécuter) prendre les changements de vos fichiers web (.jsp, .html, .css, .js) directement à partir de la source que vous éditez (war: a explosé), donc vous allez juste appuyer sur F5 dans votre navigateur

0

Si je ne me trompe pas, vous pouvez simplement copier vos modifications côté client (. jsf, .html, .css, .js) dans le dossier webapps de votre application, pendant son exécution. La version jboss J2EE d'Eclipse que j'utilise permet le remplacement à chaud de certains codes java.

+0

Je lance l'application directement depuis Eclipse (normal, Ganymede), donc il n'y a pas de dossier webapps pour moi. Y aurait-il un moyen de configurer le dossier webapps pour qu'il soit égal au dossier Eclipse? Dans IIS, je peux configurer un répertoire visuel dans mon dossier dev, pour que les changements côté client soient * vraiment * rapides (pas même copiés! Car ils sont déjà là). –

0

Vous pouvez utiliser un autre conteneur, pas Tomcat, qui n'a pas besoin d'être redémarré lorsque vous apportez des modifications à votre projet. C'est peut être Jboss. Aussi si vous allez utiliser quelques outils, par exemple JBoss Tools, vous développez beaucoup plus rapidement et facilement :-) Quant à moi, quand vous faites des changements juste dans la page .css ou .xhtml, vous ne devriez pas redémarrer tomcat, vous devriez juste republier votre application. Dans JBoss Tools, vous pouvez utiliser la vue du serveur JBoss Tools.

+0

Ceci est juste une question de configuration. Cela fonctionne bien avec Tomcat et d'autres appservers décents, vous avez juste besoin de mettre le autodeploy/hotdeploy à true. – BalusC

0

Vous devez utiliser des projets Web dynamiques et indiquer à Eclipse Java EE de déployer une instance Tomcat appropriée. Cela permettra à Eclipse d'aider tout ce qu'il peut (mais ce n'est pas encore une vitesse fulgurante).

0

mettez ceci dans votre web.xml. Cela signifie: «à quelle fréquence le serveur d'applications recompilera-t-il ma JSP». La valeur est en secondes.

+0

Bien que l'effet soit le même, votre explication est fausse. Facelets n'est pas JSP et les fichiers Facelets ne sont pas compilés. – BalusC

+0

Merci pour la clarification. – Mat

Questions connexes