Eliminar el número de versión del nombre del archivo con Maven
Tengo un proyecto con 5 módulos en maven. En este momento, cuando hago una "instalación limpia mvn", genera un oído que contiene los dos frascos, una guerra y un sar de los otros módulos.
Todos los nombres de archivo contienen la versión, por ejemplo, projectx-ear-2.0.0.ear, projectx-client-2.0.0.tarro, etc.
Necesito cambiar el nombre de uno de los frascos y la oreja final para omitir la versión en el nombre del archivo. Debería verse así:
projectx-ear.ear
|
+-- projectx-client.jar
|
+-- projectx-misc-2.0.0.jar
|
+-- projectx-sar-2.0.0.sar
|
\-- projectx-web-2.0.0.web
Ahora mismo estoy usando los siguientes plugins para construir: maven-compiler-plugin y maven-release-plugin
¿Cuál sería la mejor manera de lograr los resultados que espero?
2 answers
En su módulo ear, puede usar el elemento project.build.finalName
o puede configurar el maven-ear-plugin que admite un finalName
parámetro opcional. Y para configurar el nombre final de un frasco incluido, deberá definir un jarModule
y para establecer la propiedad bundleFileName
para ella.
La configuración final podría verse algo así (voy a demostrar cómo establecer el nombre del oído final en la configuración del plugin aquí):
<project>
[...]
<dependencies>
<dependency>
<groupId>yourgroupid</groupId>
<artifactId>projectx-client</artifactId>
<version>2.0.0</version><!-- not mandatory if inherited -->
</dependency>
[...]
</dependencies>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>projectx-ear</finalName>
<modules>
<jarModule>
<groupId>yourgroupid</groupId>
<artifactId>projectx-client</artifactId>
<bundleFileName>anotherName.jar</bundleFileName>
</jarModule>
</modules>
</configuration>
</plugin>
[...]
</project>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-03 07:37:08
Puede lograr esto especificando la propiedad finalName
en su pom de la siguiente manera:
<build>
<finalName>${project.artifactId}</finalName>
</build>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-08 22:47:31