Wenn Sie ant aus Ihrem Prozess löschen möchten, würde ich mit Build-Profilen mit Filtern aussehen.
In diesem Szenario stecken Sie Ihre Eigenschaftendateien in die Baumstruktur src/main/resources. Dann parametrieren die Eigenschaften mit Filtereigenschaften wie diese Datei:
jdbc.url=${filtered.jdbc.property}
dann innerhalb src/main/Filter-Filter-Dateien basierend auf Profile erstellen. so könnte man dev-filters.properties sit-filters.properties haben, usw. Diese enthalten:
filtered.jdbc.property=jdbc url here
Dazu Setup Profile für jede Region bauen, wo Sie eine env
Eigenschaft auf dem bestimmten Bereich Ihres Gebäudes zeigt. Sie können dann den Ressourcenfilter so einrichten, dass er für jeden Build verwendet. Darüber hinaus können Sie das War-Plugin so konfigurieren, dass die env-Eigenschaft zu Ihrem Artefakt hinzugefügt wird, sodass Sie tatsächlich 4 verschiedene Artefakte in Ihrem Repository unter einem anderen Klassifikator speichern.
Sie bauen dann einfach die App mit jedem Profil. Sie müssen den Build für jedes Profil aufrufen, aber es funktioniert gut.
Beispiel einiger Einstellungen im POM:
<build>
<filters>
<filter>src/main/filters/filter-${env}-application.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<classifier>${env}</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>LOCAL</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>LOCAL</env>
</properties>
</profile>
<profile>
<id>DEV</id>
<properties>
<env>DEV</env>
</properties>
</profile>
<profile>
<id>UAT</id>
<properties>
<env>UAT</env>
</properties>
</profile>
<profile>
<id>PROD</id>
<properties>
<env>PROD</env>
</properties>
</profile>
</profiles>
Auch Requisiten zu diesem blog post das ist, wo ich ursprünglich die Schritte gefunden, dies zu erreichen.
Sie können das Maven War-Plugin mit mehreren Ausführungen und zugehörigen Klassifizierern konfigurieren, dies ergibt mehrere War-Dateien aus einem einzigen Lauf, die alle entsprechend benannt sind. Siehe http://stackoverflow.com/questions/3866784/release-different-configurations-with-maven – chrisinmtown