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?

Author: Jean-Rémy Revy, 2010-02-09

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>
 20
Author: Pascal Thivent,
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>
 86
Author: Péter Török,
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