Frage

Wir verwenden derzeit MyEclipse mit seiner eingebauten in Maven4MyEclipse Integration und die integrierten in J2EE-Server-Unterstützung, sondern wollen regelmäßige Sonnenfinsternis konvertieren über (Helios spezifisch) in der Lage sein, seinen 64-Bit auf Windows-Installation zu verwenden. (MyEclipse noch nicht unterstützt 64-Bit-Windows.)

Bisher habe ich einen funktionierenden Prototyp von Helios bekam Eclipse mit dem WTP mit m2eclipse Plugin unserer großen Web-Anwendung tomcat bereitstellen. Die Bereitstellung ist ein wenig rechenintensiv, aber es funktioniert und die App startet.

Was kritisch ist anders hier, wie die abhängigen Projekte eingesetzt werden. In unserer MyEclipse Umgebung wurden alle abhängigen Projekte eingesetzt explodierte in die WEB-INF / classes Ordner, und so, während der Server ausgeführt wurde, ein Wechsel zu einer Java-Klasse in dem IDE würde nur die betroffene Datei (en) auf die Kopie Server WEB-INF / classes und Hot-Swap der Klasse in die JVM und ... Boom - Live-Änderung an den Server. GREAT für das Debuggen.

In meiner helios Umwandlung jedoch alle abhängigen Projekte erhalten JARED und in WEB-INF / lib. Dies hat den Vorteil, tatsächlich aussieht wie, was unsere wirklichen Maven gebaute Produktions Bild aussieht, aber die Entwicklungsumgebung wird durch diesen in stark benachteiligt, dass die Hot-Swap-Fähigkeit scheint völlig verloren. Hier wird, wenn ich eine Java-Klasse in einem abhängigen Projekt ändern, m2eclipse die JAR neu verpacken, dass die eingesetzte Web-Anwendung synchronisiert ist out, und erneut veröffentlicht die gesamte Anwendung. Nicht nur dies ein Problem in ist, dass die gesamte Web-Anwendung muss Zyklus (etwas uns ehrlich gesagt nicht gut gegeben machen seine Größe und riesige Initialisierungszeit), es ist auch eine unangenehme Verzögerung in Eclipse tut sie erneut. (Für unsere Anwendung dies dauert etwa eine Minute oder zwei.)

Also meine Frage ist: Gibt es eine Möglichkeit, Änderungen innerhalb abhängiger Projekte zu Hot-Swap zum Laufe JVM zu erhalten und eingesetzt Dateien zu ersetzen, ohne dass diese fiesen Republish Strafe? Ich gehe davon aus, dass diese Mittel, um diese Klassendateien auf den WEB-INF / classes bereitstellen, wissen aber nicht sicher, dass (a) möglich, oder (b) wirklich notwendig als Teil dieser Lösung.

Was tun andere, diese zu lösen? Ist es auflösbar?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Ich denke, dass Sie für die Lösung suchen, beschrieben in Re: WTP Tomcat Hot deploy mit m2eclipse :

  

Wenn Sie aktivieren die „Module Serve   Ohne Publishing“Option, dann ein   Spezialglas ist mit dem Tomcat hinzugefügt   Server, der die Tomcat-Unterstützung erlaubt   WTP in den „Klassenpfad“ zu steuern,   die Web-Anwendung. Auch Dienstprogramm   Projekte sind nicht in zu Gläsern zusammengesetzt.   Stattdessen (s) das Java-Ausgabe-Verzeichnis von   die Versorgungsprojekte sind enthalten in   der „Classpath“ der Bahn   Anwendung, effektiv dient der   Klasse-Dateien direkt. Wenn Sie deaktivieren   der Auto-Laden für den Kontext, und   laufen im Debug-Modus, Änderungen, die Sie machen   Klassen können Hot-Code ersetzt werden, so   der Kontext muss nicht neu laden. ich   glauben, dies zu erreichen, was Sie   suchen.

Um dies zu tun:

  • Gehen Sie auf die Server Ansicht
  • Doppelklicken Sie auf Ihr Tomcat-Server die Server-Einstellungen zu öffnen
  • In Serveroptionen , wählen Sie die Serve-Module ohne Veröffentlichung
  • In Verlag , wählen Sie die Nie veröffentlichen automatisch
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top