filtrado de recursos en maven

12
Maven Filtrado de recursos

Upload: ematiz-tecnologia-sl

Post on 13-Jun-2015

219 views

Category:

Technology


0 download

DESCRIPTION

Filtering in maven

TRANSCRIPT

Page 1: Filtrado de recursos en Maven

MavenFiltrado de recursos

Page 2: Filtrado de recursos en Maven

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

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

Filtrado de recursos

Preparado por Jesús Salinas Revelles

Introducción

Page 5: Filtrado de recursos en Maven

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

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

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

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

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

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

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

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