2010-04-20 7 views
15

Ich habe gerade ein Problem mit 'Hot Code Replace', das nicht auf Eclipse Galileo und JBoss 4.2.3 funktioniert.'Hot code replace' funktioniert nicht - Eclipse ändert keinen Code auf JBoss

Unter anderem verwende ich eine explodierte Java WAR auf meinem lokalen JBoss. Das Projekt, von dem es gebaut wird, wird von Maven verwaltet. Ich baue das Projekt mit dem Maven-Ziel Krieg: explodierte und dann kopiere ich dieses Verzeichnis mit einem ANT-Skript zu JBoss.

Wenn ich jetzt die Anwendung ausführen und einen Haltepunkt irgendwo im Code festlegen, hält Eclipse ordnungsgemäß an dieser Zeile im Debug-Modus. Wenn ich jedoch die Quelldatei ändere und sie speichere, wendet Eclipse diese Änderung nicht auf JBoss an. Wenn ich zum Beispiel eine normale Codezeile zu einem Kommentar mache, geht der Debugger immer noch über diesen Kommentar hinweg, als ob es normaler Java-Code wäre. Oder wenn ich eine Zeile entferne, scheint der Debugger mit der Datei nicht mehr synchron zu sein und beginnt, über Klammern zu gehen.

Aber ich bekomme auch keine 'Hot Code Replace Error'-Nachrichten. Es scheint mir, dass Eclipse die Änderungen auf die Quelldateien anwendet, sie aber nicht auf JBoss anwendet.

Gibt es spezielle Voreinstellungen, die aktiviert werden müssen, damit der Hotcode ersetzt werden kann? Oder gibt es Fehler bei der Erstellung und Bereitstellung der Anwendung für JBoss?

Ich würde Ihre Hilfe sehr schätzen.

Vielen Dank. Bernhard V

Antwort

38

Ich habe nicht mit JBoss gearbeitet, aber ich habe zwei Vorschläge.

1) Wenn Sie Ihre Anwendung in Eclipse mit der Startkonfiguration laufen

Ist Ihr "Projekt" - "Build automatisch" Flag aktiviert? Wenn nicht, wird der Code nicht kompiliert und zur Laufzeit ignoriert.

2) Wenn Sie eine Anwendung im Remote-Modus debuggen, können Sie den Code nicht ändern, aber Sie können den Wert der Parameter ändern. (ich denke)

+7

Die Option 'Projekt -> Build automatisch' wurde nicht aktiviert. Jetzt habe ich es aktiviert und alles funktioniert gut. Danke, Markus. –

+0

Danke! Dieses Problem hat mich wochenlang verrückt gemacht. Hot Code Replaces funktioniert plötzlich nicht mehr ohne Fehlermeldung. Es stellte sich heraus, dass ich "Automatisch erstellen" ausgeschaltet hatte. Durch erneutes Einschalten wurde das Problem gelöst. –

+1

Es ist nicht notwendig, "Automatisch erstellen" zu aktivieren. Es ist nur wichtig, ein Projekt zu erstellen, nachdem Sie Änderungen vorgenommen haben. – dhblah

8

Ich hatte Probleme in einem Projekt mit Maven und Eclipse. Es wurden keine Fehler angezeigt, aber Hot-Code-Ersatz funktionierte nicht. Ich habe gelesen, dass "Automatisch erstellen" überprüft werden muss. Ich habe das überprüft und es hat immer noch nicht funktioniert. Ich hatte einige Fehler in anderen Projekten in meinem Build-Pfad. Ich glaube, das war der Fehler. Als ich recherchierte, stellte ich fest, dass wir die Option "Build Build Build Path Path" abwählen mussten. Ich habe die Details in dem folgenden Link angegeben.

+0

Vielen Dank für Ihren Hinweis, obwohl ich Build-Fehler (in keinem meiner (verwandten) Projekte) habe, deaktivieren Sie diese Option geholfen ..! – Veger

+0

"Build abbrechen, wenn Buildpath Fehler" deaktivieren, hilft – carrizo

+4

... wo ist der Link ?? – specializt

0

Zuerst wird das Projekt/Build automatisch überprüft.

Es kann auch Konfiguration überprüfen die Anwendungsserver-Bereitstellung erforderlich,

Z.B.für JBoss, in Eclipse, in der Ansicht Server, doppelklicken Sie auf dem Server, und es ist ein Deployment Scanner Abschnitt mit zwei Kontrollkästchen:

  • hinzufügen Deployment Scanner
  • Entfernen hinzugefügt Deployment-Scanner vor dem Herunterfahren
  • fehlt

https://docs.jboss.org/author/display/AS7/Deployment+Scanner+configuration JBoss AS/ Deployment Scanner configuration