Führen Sie eine Ameisen-Aufgabe in der maven build-Phase aus, bevor der Krieg gepackt wird?

8

Beim Deployment einer Webapp muss ich einige Variablen in UI-Ressourcen aktualisieren, einige Assets entpacken und einige Dateien mit Concat versehen. Dies wird derzeit über eine ant-Task erreicht. Ich versuche, diese Aufgabe im Maven-Build-Prozess mit so etwas auszuführen ...

%Vor%

Das obige Problem tritt auf, weil die Dateien noch nicht in das Zielverzeichnis kopiert wurden. Wenn ich die Phase auf "packen" stelle, läuft die Ameisen-Aufgabe gut und alle Dateien werden erstellt / geändert, aber es ist keine Hilfe, da die .war bereits erstellt wurde, bevor das Ameisen-Ziel ausgeführt wird.

Grundsätzlich muss ich mein Ameisen-Ziel gegen Ende der Vorbereitungs-Paket-Phase laufen lassen.

Nachdem ich die Lebenszyklus-Referenz angesehen habe, kann ich nicht trainieren wie man dem antrun-plugin die feineren ziele ansieht.

Irgendwelche Ideen?

    
Patrick Clancey 01.10.2012, 10:02
quelle

2 Antworten

17

Da ich keine Antwort auf meinen Kommentar erhalten habe, denke ich, dass Sie maven-antrun-plugin verwenden möchten.

Nach dem, was ich gelernt und erfahren habe, wenn zwei Plugins in derselben Phase ausgeführt werden sollen, werden sie in der Reihenfolge ausgeführt, in der sie in pom.xml deklariert sind.

Damit dies funktioniert, müssen Sie maven-war-plugin in der <plugins/> Liste nach maven-antrun-plugin hinzufügen.

%Vor%

Einige weitere Ausführungen hinzugefügt, so dass default-war zuerst deaktiviert wird, dann wird der Krieg explodiert und zuletzt wird der Krieg gepackt.

    
maba 01.10.2012, 11:24
quelle
1

Wie Sie gesehen haben, ist dies ein Ort, an dem der Lebenszyklus nicht die erforderliche Granularität bietet. Ich beantwortete eine ähnliche Frage für eine frühere Person . Es ist keine genaue Antwort auf Ihre Frage, aber die Technik kann zutreffen.

    
user944849 02.10.2012 13:51
quelle