Come eseguire un server Dropwizard / Jersey localmente senza dover riavviare e repack per ottenere gli aggiornamenti dei file Asset?
-
20-12-2019 - |
Domanda
Sto lavorando al lato client di un progetto che utilizza Dropwizard.Sfortunatamente quello che sto vivendo è che per me per far modificare le risorse, devo interrompere il server, il pacchetto dei beni con Maven e quindi reinserire il server o le risorse non verranno aggiornate.
Ho provato ad aggiungere Dropwizard-configurable-assets-bundle ma sonoancora vedendo lo stesso comportamento.Ecco il servizio dopo averlo aggiunto:
service.java
public void initialize(strap<ServiceConfiguration> strap) {
// Assets
strap.addBundle(new ConfiguredAssetsBundle(
"/dashboard/app/", "/dashboard/", "index.html"
));
// Redirect /dashboard to /dashboard/
strap.addBundle(new RedirectBundle(ImmutableMap.<String, String>builder()
.put("/dashboard", "/dashboard/").build()));
}
.
Attualmente sto eseguendo mvn package && java -jar target/pack.jar server config.yml
.Ho provato a usare Eclipse, ma dovevo riavviarlo manualmente e non stavo recuperando per me, quindi stava rallentando le cose ancora più ulteriormente.
L'intero processo è reaaaly mi rallenta e spero che sia solo la mia ignoranza al mondo che è Java.
Soluzione
Se le vostre risorse sono confezionate in src/main/resources
, dovrebbero semplicemente aggiornarle automaticamente con Eclipse senza essere richiesto un riavvio, fino a quando si esegue il servizio main()
del servizio eseguibile dall'IDE.
Potrebbe essere necessario verificare che il tuo plugin MAVEN sia impostato su "Generare risorse" sui cambiamenti, ma questa è solo l'impostazione predefinita, quindi dovrebbe essere già in posizione.
Che cosa stai descrivendo è sicuramente possibile in Eclipse - ho esperienza personale di apportare modifiche alle risorse (ad esempio cambiare e salvare un'attività HTML) e vedendo un aggiornamento immediato dopo aver fatto nulla di più di un browser Aggiorna.
Altri suggerimenti
Nel mio Intellij Idea, sto usando il plug-in JRebel
per questo scopo.Jrebel supporta anche Eclipse.