Esto se puede hacer sin perfiles si especificas varias ejecuciones de complementos y resource filtering.
Cree un archivo de propiedades para cada versión en ${basedir}/src/main/filters
(por ejemplo, prod.properties, dev.properties) con los valores adecuados para cada entorno.
active el filtro de sus recursos:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
Ahora suma las ejecuciones de recursos de plugin. Tenga en cuenta los diferentes archivos de filtro y el directorio de salida.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default-resources</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/dev</outputDirectory>
<filters>
<filter>${basedir}/src/main/filters/dev.properties</filter>
</filters>
</configuration>
</execution>
<execution>
<id>prod</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/prod</outputDirectory>
<filters>
<filter>${basedir}/src/main/filters/prod.properties</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
Finalmente, el plugin jar; nota directorio clasificador y de entrada:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>dev</classifier>
<classesDirectory>${project.build.outputDirectory}/dev</classesDirectory>
</configuration>
</execution>
<execution>
<id>jar-prod</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>prod</classifier>
<classesDirectory>${project.build.outputDirectory}/prod</classesDirectory>
</configuration>
</execution>
</executions>
</plugin>
Correr mvn clean install
debe producir los recursos adecuadamente filtrados en artefactos con dev
y prod
clasificadores como usted desee.
En el ejemplo, utilicé ID de ejecución de default-resources
y default-jar
para las versiones de desarrollo. Sin esto, también obtendrás un artefacto de jar no clasificado cuando construyas.
una víctima sino un * muy * situación similar: http://stackoverflow.com/questions/3866784/release-different-configurations-with-maven – chrisinmtown