2010-03-03 27 views
14

J'ai un projet Spring Roo et j'utilise mvn jetty:run pour exécuter mon application. Le seul problème est que les modifications apportées aux classes *.java ne se déploient pas à chaud, alors que les modifications apportées au *.jspx se déploient très bien. Comment puis-je configurer mvn jetty pour hotdeploy pour les classes java?déployer à chaud dans la jetée intégrée

Répondre

22

Vous devez définir la scanIntervalSeconds à une valeur supérieure à 0 pour l'activer:

scanIntervalSeconds - L'intervalle en secondes pour numériser la webapp pour les changements et redémarrez le contexte si nécessaire. Ignoré si le rechargement est activé. Désactivé par défaut Valeur par défaut est: 0.

Ainsi, la puissance de configuration ressemble à ceci:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.22</version> 
    <configuration> 
    <scanIntervalSeconds>1</scanIntervalSeconds> 
    </configuration> 
</plugin> 

Une fois activé, le plugin maven jetée balayera le répertoire défini dans classDirecory (qui pointe vers ${project.build.outputDirectory} par par défaut, c'est-à-dire target/classes) pour les modifications.

Vous avez juste besoin d'avoir vos classes de compilation IDE dans target/classes (ou pour exécuter mvn compile) et Jetty redémarrera le contexte lors des changements sur les classes Java.

+0

Merci beaucoup! :) – portoalet

+0

Il y a 404 erreurs pendant que Jetty redéploie les classes. Toute suggestion pour les éviter? Voir aussi cette question: http://stackoverflow.com/questions/23343243/jetty-404-error-page-on-hot-deployment – tholu

+1

Malheureusement redéploiement avec zéro temps d'arrêt nécessite beaucoup d'efforts dans le monde de Java :(Edit: Will essayez ceci: http://www.rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ – tholu