Wie führe ich einen DropWizard-/Jersey-Server lokal aus, ohne ihn neu starten und neu packen zu müssen, um Aktualisierungen der Asset-Dateien zu erhalten?

StackOverflow https://stackoverflow.com//questions/21004704

Frage

Ich arbeite auf der Client-Seite eines Projekts, das DropWizard verwendet.Leider habe ich die Erfahrung gemacht, dass ich zum Vornehmen einer Änderung an Assets den Server stoppen, die Assets mit Maven packen und dann den Server erneut ausführen muss, sonst werden die Assets nicht aktualisiert.

Ich habe versucht, hinzuzufügen Dropwizard-konfigurierbares Assets-Bundle aber ich sehe immer noch das gleiche Verhalten.Hier ist der Dienst nach dem Hinzufügen:

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()));
}

Ich laufe gerade mvn package && java -jar target/pack.jar server config.yml.Ich habe versucht, Eclipse zu verwenden, aber ich musste es manuell neu starten und es konnte bei mir nicht neu gepackt werden, was die Sache noch weiter verlangsamte.

Dieser ganze Prozess ist Wirklich Das verlangsamt mich und ich hoffe, dass es nur an meiner Unkenntnis der Welt von Java liegt.

War es hilfreich?

Lösung

Wenn Ihre Vermögenswerte darunter verpackt sind src/main/resources Dann sollten sie einfach automatisch mit Eclipse aktualisiert werden, ohne dass ein Neustart erforderlich ist, solange Sie den ausführbaren Dienst ausführen main() aus der IDE heraus.

Möglicherweise müssen Sie überprüfen, ob Ihr Maven-Plugin bei Änderungen auf „generate-resources“ eingestellt ist. Dies ist jedoch nur die Standardeinstellung und sollte daher bereits vorhanden sein.

Was Sie beschreiben, ist in Eclipse definitiv möglich – ich habe persönliche Erfahrung mit der Durchführung von Ressourcenänderungen (z. B.Ändern und Speichern eines HTML-Assets) und dann eine sofortige Aktualisierung sehen, wenn Sie nur eine Browseraktualisierung durchführen.

Andere Tipps

In meiner Intellij-Idee verwende ich JRebel Plugin für diesen Zweck.JRebel unterstützt auch Eclipse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top