Maven - Unterscheidung verschiedener Konfigurationen beim build, wie?

Herr_M

Erfahrenes Mitglied
Hallo Zusammen,

Ich soll gerade ein vorhandenes Projekt von einem ANT Build auf einen Build mit Maven umstellen. Jetzt habe in dem Projekt unter anderem in den Resources 3 verschiedene
Versionen eines properties files. Drei Versionen deshalb weil dort unter anderem Pfade und URLs defniert sind, die sich je nach Localhost (Entwicklermaschine), Server für Integrationstest, oder Server für den Produktiven Einsatz unterscheiden.

In Ant hatte ich bisher drei verschiedene Targets (Local,Test und Prod) über die ich vor dem erstellen des war files einfach die jeweils passende Version des files ins Resources Verzeichnis kopiert hab.
Bei Maven funktioniert das ja nicht mehr auf die Art, hier gibt es ja nicht mal mehr "Targets" die heißen jetzt Goals richtig und funktionieren ganz anders... " einen normalen "copy" Task gibt es auch nicht, oder der heißt jetzt auch anders?

Naja kurzum, wie löse ich das in Maven, das ich je nach dem für welchen Server das war file ist, die jeweiligen properties mit ins war packe?

Ich hab schon mal recherchiert, aber wenn ich das richtig verstanden habe, müsste ich dann ja den kompletten Resources Pfad dreimal halten, was ja sehr viele redundante Files bedeuten würde, dass kann doch nicht sein oder doch?
 
Ok, das war schon mal ein nützlicher Hinweis. Das heißt ja num im Grunde das ich mir in meiner pom.xml
Drei verschiedene Profiles anlegen muss. Für jede der drei Umgebungen.
Was sich aus dem Artikel für mich aber noch nicht ganz erschließt ist, wenn ich nun diese Profiles habe,
wie lege ich dann fest welche meiner z.B. werbservice.properties oder log4j.xml nun zu welchem Profile gehört.

Zum Beispiel bei meiner webservice.properties Datei ist es bisher so, dass
die genutzte Datei im Pfad "src/main/webapp/WEB-INF/classes/locale/webservice/webservice.properties liegt.
Die drei Versionen für Local,Test und Prod in jeweils einem Unterverzeichnis davon also z.B.
src/main/webapp/WEB-INF/classes/locale/webservice/localhost/webservice.properties

Kann ich das im Profil irgendwie festlegen, dass die Datei aus dem jeweiligen Unterverzeichnis an die Stelle tritt,
oder muss ich die Projektstruktur umändern und für jedes Profile ein eigenes Resource-Verzeichnis anlegen?
 
Zurück