Filtrado de recursos en Maven
-
Upload
ematiz-tecnologia-sl -
Category
Technology
-
view
219 -
download
0
description
Transcript of Filtrado de recursos en Maven
![Page 1: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/1.jpg)
MavenFiltrado de recursos
![Page 2: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/2.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Índice del capítulo
‣ Introducción.
‣ Definición de propiedades.
‣ Referencia a propiedades.
‣ Activación del filtrado de recursos.
![Page 3: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/3.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Introducción
‣ El filtrado en maven es el mecanismo que permite definir propiedades dentro del proyecto asignándole valores que, posteriormente, podrán ser aplicados en cualquier fichero de configuración del proyecto.
‣ Para manejar con solvencia el filtrado debemos tener claros tres conceptos:
‣ Definición de propiedades: cuál es la sintaxis a utilizar y dónde se deben definir.
‣ Referencia a propiedades: cuál es la sintaxis a utilizar y dónde se pueden utilizar.
‣ Proceso de filtrado: cómo se aplica y cuál es el resultado.
![Page 4: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/4.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Introducción
![Page 5: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/5.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Definición de propiedades
‣ Maven nos ofrece un conjunto de propiedades predefinidas que vamos a poder utilizar en nuestros proyectos. Como su nombre indica NO debemos definirlas, ya lo han hecho por nosotros.
‣ Propiedades del proyecto maven: project.*
‣ Cualquier cosas dentro del fichero pom.xml puede referenciarse mediante este tipo de propiedad: project.groupId, project.version, project.artifactId, etc.
‣ Propiedades de configuración:
‣ Propiedades definidas en el fichero settings.xml, el fichero de configuración de maven: settings.*
‣ Propiedades asociadas a variables de entorno: env.*
‣ env.PATH, env.HOME, env.JAVA_HOME, env.M2_HOME, etc.
‣ Propiedades asociadas al sistema Java: java.version, java.vendor
![Page 6: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/6.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Definición de propiedades
‣ Existen dos estrategias para definir propiedades de usuario:
‣ Definición en un fichero pom.xml.
‣ Las propiedades se definen dentro del elemento properties. El nombre de la propiedad se define en el elemento xml.
‣ En el ejemplo se han definido dos propiedades llamadas jdbc.username y jdbc.password y sus valores son rootUser y xxADB_2.
<project> ...<properties> <jdbc.username>rootUser</jdbc.username> <jdbc.password>xxADB_2</jdbc.password></properties>
...</project>
![Page 7: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/7.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Definición de propiedades
‣ Existen dos estrategias para definir propiedades de usuario (cont.):
‣ También se pueden definir en ficheros de properties:
‣ Para tenerlas en cuenta se deben en el fichero pom.xml se debe incluir:
jdbc.url=jdbc:hsqldb:mem:mydb jdbc.username=curso01 jdbc.password=curso01
<build> <filters> <filter>src/main/filters/prueba.properties</filter> </filters> ...
Ruta donde se encuentra la definición de propiedades que se aplicarán en el filtrado.
![Page 8: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/8.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Referencia a propiedades
‣ Una vez que se han definido tantas propiedades como sean necesarias, ¿cómo hago referencia a éstas? ¿cuál es la sintaxis que debemos seguir?
‣ Sintaxis:
‣ Ejemplo:
${nombreDePropiedad}
<project> ... <packaging>jar</packaging> <build> <finalName>${project.groupId}-${project.artifactId}</finalName> </build>
</project>
![Page 9: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/9.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Referencia a propiedades
‣ Propiedades del proyecto maven:
‣ Propiedades de configuración:
...<dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>sibling-project</artifactId> <version>${project.version}</version> </dependency> </dependencies>...
<settings> <localRepository>/RepositorioPrueba</localRepository>...
${settings.localRepository}
![Page 10: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/10.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Referencia a propiedades
‣ Propiedades asociadas a variables de entorno:
‣ Propiedades asociadas al sistema Java:
${env.PATH}${env.HOME}${env.JAVA_HOME}${env.M2_HOME}
${java.version}${java.vendor}${java.home}...${user.name}${user.home}${user.dir}
![Page 11: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/11.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Referencia a propiedades
‣ Propiedades de usuario:
‣ Referencia a las propiedades:
<project> ...<properties> <jdbc.username>sa</jdbc.username> <jdbc.password>appfuse</jdbc.password></properties>...</project>
${jdbc.username}${jdbc.password}
![Page 12: Filtrado de recursos en Maven](https://reader036.fdocumento.com/reader036/viewer/2022082513/557b6054d8b42a78238b50d1/html5/thumbnails/12.jpg)
Filtrado de recursos
Preparado por Jesús Salinas Revelles
Activación del filtrado de recursos
‣ Para terminar, una vez que sabemos cómo se definen propiedades y cómo se referencian en ficheros de nuestro proyecto, necesitamos saber sobre qué ficheros o carpetas de nuestro proyecto queremos aplicar el filtrado o sustitución de propiedades.
‣ Para que el proceso de reemplazo de variables se produzca, el filtrado debe activarse en el fichero pom.xml del proyecto:
...
<build> <resources> <resource>src/main/resources</resource> <filtering>true</filtering> </resources> </build>
...Ruta de la carpeta en la que se aplica la sustitución de propiedades