webapp tutorial mvnrepository facesservlet faces example maven jsf-2 build version war

maven - tutorial - Visualización de la versión y fecha de compilación en la página xhtml



primefaces en jsf (1)

Quiero mostrar la versión de compilación y la fecha de compilación en el pie de página de una aplicación JSF. Las páginas son XHTML. Estoy buscando formas de obtener la información de pom.xml u otros artefactos.

Encontré lo siguiente que usa el complemento maven-replace. http://www.vineetmanohar.com/2010/09/how-to-display-maven-project-version-in-your-webapp/

¿Hay alguna otra técnica que utilices?

Estoy buscando algo como esto con JSF - Mostrando la fecha de compilación


Un enfoque que funcionará: use el filtrado de Maven para poner un archivo en su WAR o JAR que contenga la información requerida. Luego, en su aplicación web Java, cargue el contenido de ese archivo como un recurso ClassPath InputStream .

Cree un archivo (digamos "buildInfo.properties") en src/main/resources contenga algo como:

build.version=${project.version} build.timestamp=${timestamp}

Tenga en cuenta que debido a un defecto abierto , necesita definir la propiedad de timestamp siguiente manera en el bloque <properties> de su pom:

`<timestamp>${maven.build.timestamp}</timestamp>`

Durante su compilación, este archivo se filtrará con el valor de project.version (que usted define con <version> en su pom.xml, cuando especifique

<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>

En su código Java (JSF Bean, lo que sea), tenga un código como el siguiente:

InputStream in = getClass().getClassLoader().getResourceAsStream("buildInfo.properties"); if (in == null) return; Properties props = new Properties(); props.load(in); String version = props.getProperty("build.version"); // etc.

Si su marco de trabajo admite la carga de propiedades como "paquetes de recursos" desde classpath (es decir, como en Spring), no es necesario el código Java anterior que carga el archivo de propiedades.