Frage

Angenommen, Sie arbeiten an einem großen Projekt, das auf einem Anwendungsserver ausgeführt wird (sagen wir Tomcat, aber es kann auch Jboss oder Jetty oder etwas anderes sein). Das Projekt besteht aus mehreren Kriegen, während jeder Krieg viel Glas enthält. Das Ganze wird mit Maven erstellt und es braucht viel Zeit, um alles zu erstellen.

Angenommen, ein Entwickler nimmt eine Änderung in nur einem Modul vor, das ein kleines Glas erzeugt. Um weiter zu arbeiten und die Änderung zu testen, muss der Entwickler diese JAR-Datei in den entsprechenden Kriegen ersetzen und den Server neu starten (manchmal reicht es aus, Kriege erneut bereitzustellen). Es ist viel schneller als die gesamte Anwendung neu zu erstellen. Ich habe viele Entwickler (einschließlich meiner selbst) gesehen, die Shell-Skripte für diese Aufgabe erstellt haben.

Es könnte jedoch viel schöner sein, wenn es automatisch mit maven durchgeführt werden könnte. Nehmen wir an, wenn Sie "mvn install" ausführen, wird das Plugin auch an einen vordefinierten Speicherort (z. B. $ {tomcat} / webapps) verschoben und nach allen Erscheinungsbildern von myjar.jar gesucht und durch eine neue Version ersetzt (wir haben mehrere Jars, erinnern Sie sich? )

Kennt jemand ein solches Plugin? Oder handelt es sich um ein anderes Tool, das dieselbe Aufgabe ausführen kann? Oder eine bessere Idee, wie es geht?

Aktualisiert: Übrigens, wenn ich keine Lösung finde, werde ich sie wahrscheinlich selbst implementieren. Bitte lassen Sie mich wissen, wenn Sie interessiert sind. Ich brauche ein paar Betatester :)

Aktualisiert: Also habe ich das Plugin selbst erstellt. Siehe http://code.google.com/p/replace-file-plugin/ Feedback ist willkommen.

War es hilfreich?

Lösung 2

Nun, alle Funktionen, nach denen ich in dieser Frage gefragt habe, habe ich selbst implementiert.Siehe http://code.google.com/p/replace-file-plugin/ Ich freue mich über jedes Feedback.

Andere Tipps

Überprüfen Sie JRebel .Es rockt, reduziert die Entwicklungs- / Bereitstellungszeit erheblich.Es gibt eine kostenlose 30-Tage-Testversion. Probieren Sie sie kostenlos aus.Ich habe meine eigene Lizenz gekauft, meine Firma hat einige Wochen gebraucht, um den Kauf zu genehmigen, und ich konnte es kaum erwarten.

Ernsthafter Mann, es rockt.Lesen Sie darüber, es kann tun, was Sie wollen.

Wenn Sie Ihr Skript als Ant-Build schreiben können, können Sie den Maven Antrun verwendenPlugin zum Einbetten des Ant-Builds in Ihren Build-Lebenszyklus.

Lassen Sie uns den Bereich auf eine einzige Kriegsdatei beschränken. Ich denke, Sie würden dies ohne Probleme selbst auf Ihr Szenario skalieren.

Sie können diese Option ausprobieren: Erstellen Sie ein Endmontagemodul, das schnell ausgeführt wird und alle abhängigen Module in einer War-Datei kombiniert.Wenn Sie dann zunächst die mvn clean package-Installation für den gesamten Build durchführen, müssen Sie das geänderte Abhängigkeitsmodul von mvn clean package installieren und das Endmontagemodul erneut ausführen, um schnell über den aktualisierten Krieg informiert zu werden.Dies ist ein recht statusbehaftetes Build-Schema (und daher fehleranfällig), aber nachdem Sie sich mit diesem Ansatz zur Änderung der Weitergabe vertraut gemacht haben, denken Sie wahrscheinlich, dass dies die einfachste Idee ist, die möglicherweise funktioniert und schneller funktioniert.

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