Maven Multi-Modul Web-Anwendung (Hot Swap)

8

Ich habe eine Webanwendung mit mehreren Modulen.

Die Struktur ist:

%Vor%

Und das Webprojekt hängt von den zwei untergeordneten Modulen ab

Bei der Verwendung meiner IDE zum Erstellen meines Projekts war ich daran gewöhnt, dass die IDE die Klassen im Ordner WEB-INF / classes erstellte. Das war gut, da der Webserver die neuen Klassen bemerkt und diese Dateien entweder neu gestartet oder hochverfügbar gemacht hat. Mit Maven scheint es, dass ich jedes Mal das Ganze von Grund auf neu verpacken muss.

Ich möchte einen Weg in Maven finden, so dass ich vermeiden kann, mvn: clean mvn: install mvn: war: inplace auszuführen. Stattdessen möchte ich eine mvn: comile, und dann das Zeug nur da.

Ich hoffe du verstehst was ich meine. Das Testen der Web-App ist extrem langsam, wenn Sie immer alle Projekt-Jars erstellen und den Som-War-Befehl ausführen müssen, bevor die Dinge aktualisiert werden.

Die Web-Apps pom:

%Vor%     
AnAmuser 18.08.2013, 19:48
quelle

2 Antworten

2

Eine mögliche Lösung für dein Problem könnte sein, einen mageren Krieg mit dem maven-war-plugin (oder schließe zumindest child1 und child2 aus, wenn du noch andere Abhängigkeiten hast) und füge die Ziel / Klassen-Ordner der Kindprojekte deinem Klassenpfad hinzu. Dies könnte mit dem Build Helper Maven-Plugin add-resource goal erfolgen .

Disclaimer: Ich habe das selbst nicht versucht, aber in der Theorie könnte es funktionieren:)

    
Martin Höller 29.08.2013 07:05
quelle
1

Dies ist meine eigene vorläufige Antwort auf dieses Problem.

Es wäre schön, wenn man das mit Maven machen könnte, aber ich habe keine Lösung gefunden. Daher habe ich ein ant-Ziel an die Kompilierphase des Web-Moduls gebunden.

Dies ist wahrscheinlich keine Lösung, die überall verwendet werden kann, aber es funktioniert in meinem Fall.

web / pom.xml:

%Vor%

Jetzt sieht der Steg jedes Mal, wenn ich kompiliere, was viel schneller ist als Installation, Krieg und das Zeug, das vorher benötigt wurde.

    
AnAmuser 25.08.2013 12:38
quelle

Tags und Links