2010-03-03 21 views
14

Ho un progetto Spring Roo e io uso mvn jetty:run per eseguire la mia app. L'unico problema è che le modifiche alle classi *.java non vengono distribuite a caldo, mentre le modifiche a *.jspx vengono distribuite correttamente.hot deploy nel molo incorporato

Quindi, come posso configurare mvn jetty su hotdeploy per le classi java?

risposta

22

è necessario impostare il scanIntervalSeconds ad un valore maggiore di 0 per abilitarlo:

scanIntervalSeconds - L'intervallo in secondi per la scansione della webapp per le modifiche e riavviare il contesto, se necessario. Ignorato se il ricaricamento è abilitato. Disabilitato per impostazione predefinita. valore di default è: 0.

Così la potenza di configurazione si presenta così:

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

Una volta abilitato, il plugin Maven pontile esplorerà la directory definita in classDirecory (che punta a ${project.build.outputDirectory} da default ovvero target/classes) per le modifiche.

È quindi necessario avere le classi di compilazione IDE in (o per eseguire mvn compile) e Jetty riavvierà il contesto in seguito a modifiche sulle classi Java.

+0

Grazie mille! :) – portoalet

+0

Ci sono 404 errori mentre Jetty redeploys le classi. Qualche suggerimento su come evitarli? Vedi anche questa domanda: http://stackoverflow.com/questions/23343243/jetty-404-error-page-on-hot-deployment – tholu

+1

Purtroppo la ridistribuzione con tempo di fermo zero richiede un grande sforzo nel mondo Java :(Modifica: Will prova questo: http://www.rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ – tholu

Problemi correlati