2010-08-10 4 views
2

Je développe un site web war/java qui est construit via maven.Java développement maven lent

Actuellement, je dois apporter des modifications ... dire à maven de les construire ... puis de les déployer sur Tomcat. C'est autour de 40seconds. Donc, chaque changement que je fais, je dois attendre> = 40seconds pour voir le changement.

Cela devient très frustrant, alors j'ai essayé d'accélérer le déploiement. J'ai déployé le site via maven avec la guerre: a explosé. Maintenant, je modifie les fichiers en direct au format 'déployé'. Le problème étant que j'aurai besoin de déplacer ces changements à l'emplacement de source pour pousser dans notre contrôle de source.

Alors quelqu'un a-t-il écrit un script pour 'annuler le déploiement' des changements sur le serveur en les pointant vers où Maven les attend, ou trouvé une autre façon de voir instantanément mes changements dans un navigateur web. Reconstruire à partir de la source à chaque fois n'est pas une solution amusante.

Répondre

5

Actuellement, je dois apporter des modifications ... dire à maven de les construire ... puis de les déployer sur Tomcat. C'est environ 40 secondes. Donc, chaque changement que je fais, je dois attendre> = 40seconds pour voir le changement.

Ceci est juste une mauvaise façon d'utiliser Maven à mon avis.

Utilisez soit quelque chose de léger comme jetty:run (et connectez le débogueur distant Eclipse pour activer hotswap), voir Configuring Jetty, Maven, and Eclipse together with Hot Swap. Ou utilisez le protocole WTP Eclipse et déployez votre projet sur un serveur Tomcat dans Eclipse (votre projet peut être reconnu en tant que projet Web dynamique, que vous utilisiez m2eclipse ou le plugin Maven Eclipse).

+1

Eclipse WTP est la voie à suivre pour Tomcat dev. Si vous démarrez le serveur en mode débogage, les modifications seront appliquées instantanément. En mode normal, l'application redémarre (quelques secondes). – h3xStream

+1

Les projets Maven ont une structure de fichiers totalement différente de celle des projets WTP Eclipse. Veuillez expliquer comment vous pouvez utiliser l'instance Tomcat interne Eclipse pour y parvenir sans modifier la structure du dossier Maven (src/main/java, src/test/java, etc.) –

1

Avez-vous essayé JavaRebel?

http://www.zeroturnaround.com/jrebel/

+0

Je vais y jeter un coup d'oeil. Je préfère ne pas être impliqué dans des licences supplémentaires pour quelque chose (IMHO) qui devrait déjà exister pour le développement de la guerre. – Drew

+0

JRebel peut être utile si votre application prend du temps pour redémarrer (initialisations longues). – h3xStream

Questions connexes