java - exclude - maven-resources-plugin example
¿Cómo poner la versión del proyecto maven en el archivo de guerra manifiesto? (3)
Coloca ${project.version}
en tu manifest.mf donde quieras que esté la versión. Para que esto funcione, creo que necesitas el complemento de recursos para que Manven "filtre" los recursos a medida que se incluyen en tu archivo war.
Necesito que Maven inserte el número de versión del archivo POM en el manifiesto ubicado en el archivo WAR en /WEB-INF/manifest.mf.
¿Cómo hago esto? Pude archivar fácilmente la documentación para hacer esto en un archivo JAR utilizando el complemento maven-jar, pero eso no funciona en un archivo WAR.
¡Gracias por la ayuda!
Lo descubrí usando el plugin maven-war-plugin. Vea la configuración a continuación:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<archive>
<manifestEntries>
<version>${project.version}</version>
</manifestEntries>
</archive>
</configuration>
</plugin>
O puede usar los indicadores addDefaultImplementationEntries o addDefaultSpecificationEntries que agregarán varias entradas, incluida la propiedad project.version
.
addDefaultImplementationEntries
Implementation-Title: ${project.name}
Implementation-Version: ${project.version}
Implementation-Vendor-Id: ${project.groupId}
Implementation-Vendor: ${project.organization.name}
Implementation-URL: ${project.url}
addDefaultSpecificationEntries
Specification-Title: ${project.name}
Specification-Version: ${project.version}
Specification-Vendor: ${project.organization.name}
El valor predeterminado para ambos es falso. Si una propiedad no está definida (por ejemplo, project.organization.name
), esa línea se excluirá del manifiesto.
Esto podría ir a la configuración de maven-war-plugin de la siguiente manera:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>