Estoy usando maven-assembly-plugin para compilar un archivo jar monolítico ejecutable con dependencias. También estoy usando el filtrado de recursos para establecer algunas propiedades personalizadas, específicas del carril (dev, stage, prod, etc.).Incluya el nombre del perfil de Maven en ensamblado-complemento creado (con dependencias) jar
¿Cómo hago para que el Nombre final del contenedor incluya el nombre del carril (dev, stage, prod, etc.)?
Me gustaría que el siguiente mvn comandos para dar lugar a los tarros que parecen algo como esto:
- mvn instalación limpia -P DEV - Instalar> WS-cliente-DEV.jar
- mvn limpia -P ETAPA -> WS-cliente-STAGE.jar
- mvn instalación limpia PROD -P -> WS-cliente-PROD.jar
¿hay una propiedad experta en algún lugar no puedo encontrar? Me gustaría evitar el uso de un argumento de línea de comando redundante si es posible (es decir, 'mvn clean install -P DEV -Dlane = DEV').
Aquí está mi configuración de montaje plugin:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>ws-client</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
¡Fantástico, funcionó maravillosamente! – chadmaughan
El nombre final no funcionará en el artefacto desplegado solo en el artefacto que está almacenado en la carpeta de destino en su ejecución actual. – khmarbaise
@khmarbaise - Correcto. Para este uso particular, el jar se está distribuyendo fuera de un repositorio (lo sé, no es ideal). Quería una indicación visual para que el consumidor "sin productos" sepa qué carril y qué propiedades están usando simplemente echando un vistazo al archivo jar en su classpath. – chadmaughan