plugin generate files example descargar dependencias create maven war

generate - En maven: cómo cambiar el nombre del archivo.war de salida en función del nombre del perfil en uso



maven war plugin java 8 (3)

En maven debes usar <bundleFileName> en el <module>

Debe seguir este enlace para asegurarse de que sus módulos se reescriban: http://maven.apache.org/plugins/maven-ear-plugin/examples/customizing-a-module-filename.html

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>2.10.1</version> <configuration> [...] <modules> <ejbModule> <groupId>artifactGroupId</groupId> <artifactId>artifactId</artifactId> <bundleFileName>anotherName-1.2.3.jar</bundleFileName> </ejbModule> </modules> </configuration> </plugin> </plugins> </build>

Tengo tres perfiles en mi pom.xml para nuestra aplicación ...

  1. dev (para uso en un desarrollador)
  2. qa (para usar en nuestro servidor qa interno)
  3. prod (producción).

Cuando ejecutamos nuestra construcción maven, los tres perfiles muestran un archivo war con el mismo nombre. Me gustaría generar $profilename-somearbitraryname.war

¿Algunas ideas?


La respuesta fue simple ...

Defina una propiedad en cada perfil como este ...

<profile> <id>qa</id> <properties> <rp.build.warname>ourapp-qa</rp.build.warname> </properties> </profile>

A continuación, agregue esto a sus complementos ...

<plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <packagingExcludes>WEB-INF/web.xml</packagingExcludes> <warName>${rp.build.warname}</warName> </configuration> </plugin>


Te has respondido correctamente:

<profiles> <profile> <id>dev</id> <properties> <rp.build.warname>dev</rp.build.warname> </properties> </profile> <profile> <id>qa</id> <properties> <rp.build.warname>qa</rp.build.warname> </properties> </profile> <profile> <id>prod</id> <properties> <rp.build.warname>prod</rp.build.warname> </properties> </profile> </profiles>

pero hay una manera más simple de redefinir el nombre WAR:

<build> <finalName>${rp.build.warname}-somearbitraryname</finalName> <!-- ... --> </build>

No se necesita ningún maven-war-plugin .