2010-12-16 12 views
2

Ich habe begonnen, mit Wicket arbeiten. Wenn ich Änderungen an den HTML-Templates vornehme, wird das sofort sichtbar.Codeänderung nachladen in Wicket

Aber wenn ich den Code ändere, muss ich Jetty neu starten. Ich bin in DEVELOPMENT-Modus ausgeführt wird (zumindest das ist, was das große Fett in der Log-Warnung sagt) und ich habe die ReloadingWicketFilter gemäß dieser Frage installiert: Wicket - runtime class reloading

Meine Vermutung ist, dass dieses Verhalten ist, weil ich alle Änderungen in Der Konstruktor meiner Seiten und Wicket erstellt beim erneuten Laden keine neue Seite.

Ich habe die Wicket Beispiele durchsucht, aber es gibt kein Beispiel, das zeigt, wie eine Wicket-Seite bauen ohne Addition aller Komponenten im Konstruktor oder wie Wicket zu sagen, eine neue Seite für jede Anfrage zu erstellen oder wie Sie sagen, Wicket um eine neue Seite zu erstellen.

Antwort

3

I mvn Anlegestelle bin mit: laufen und diese Konfiguration in der pom.xml:

<plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <!-- to be used in combination with netbeans compile on save feature --> 
       <scanTargets> 
        <scanTarget>target/classes/</scanTarget> 
       </scanTargets> 
       <scanIntervalSeconds>1</scanIntervalSeconds> 
      </configuration> 
</plugin> 

Und meine IDE (NetBeans) ist so konfiguriert, dass es beim speichern kompiliert ... dann kann ich eine änderung zum browser wechseln und drücke erneut laden ... und die änderungen wurden übernommen + anlegestelle wurde neu geladen

oder die kommerzielle App jrebel

+0

Das sieht vielversprechend aus, es sollte in Eclipse genauso funktionieren. –

+0

Ja, ich denke schon. Es sollte sogar für alle ('leichten') Java Webframeworks funktionieren. Siehe auch meinen Link zu jrebel – Karussell

0

In IntelliJ, führen Sie die Start-Anwendung durch das Debuggen verwenden. Wenn Sie Änderungen an Java vornehmen und kompilieren, lädt IntelliJ die Klasse über HotSpot neu. Die Änderungen werden in Ihrer Anwendung verfügbar.

Sie sind natürlich beschränkt auf HotSpot "s Beschränkung nur in der Lage sein zu (zum Beispiel) schaffen neue Klassen und Änderungsmethodenrümpfe.