Sto utilizzando il plugin maven-assembly-per creare un jar monolitico eseguibile con dipendenze. Sto anche utilizzando il filtraggio delle risorse per impostare alcune proprietà personalizzate, specifiche della corsia (dev, stage, prod, ecc.).Includi il nome del profilo Maven in assembly-plugin built (con dipendenze) jar
Come faccio a rendere finaleName del barattolo include il nome della corsia (dev, stage, prod, ecc)?
mi piacerebbe il seguente mvn comandi di provocare vasi che sembrano qualcosa di simile:
- mvn installazione pulita -P DEV -> WS-client-DEV.jar
- mvn clean install -P STAGE -> WS-client-STAGE.jar
- mvn clean install CODICE -P -> WS-client-PROD.jar
c'è una proprietà esperto di qualche parte non riesco a trovare? Vorrei evitare l'uso di un argomento ridondante della riga di comando, se possibile (es. - 'mvn clean install -P DEV -Dlane = DEV').
Ecco la mia configurazione del plugin di montaggio:
<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>
Fantastico, ha funzionato magnificamente! – chadmaughan
Il finalName non funzionerà sulla risorsa distribuita solo sulla risorsa che è memorizzata nella cartella di destinazione nella tua corsa corrente. – khmarbaise
@khmarbaise - Corretto. Per questo particolare utilizzo, il jar viene distribuito all'esterno di un repository (lo so, non ideale). Volevo un'indicazione visiva in modo tale che il consumatore "non esperto" sappia quale corsia e proprietà sta usando semplicemente dando un'occhiata al file jar sul suo classpath. – chadmaughan