SlideShare una empresa de Scribd logo
Maven
Filtrado de recursos
Filtrado de recursos

Índice del capítulo
‣ Introducción.
‣ Definición de propiedades.
‣ Referencia a propiedades.
‣ Activación del filtrado de recursos.

Preparado por Jesús Salinas Revelles
Filtrado de recursos

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.

Preparado por Jesús Salinas Revelles
Filtrado de recursos

Introducción

Preparado por Jesús Salinas Revelles
Filtrado de recursos

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

Preparado por Jesús Salinas Revelles
Filtrado de recursos

Definición de propiedades
‣ Existen dos estrategias para definir propiedades de usuario:
‣

Definición en un fichero pom.xml.
<project>
...
<properties>
<jdbc.username>rootUser</jdbc.username>
<jdbc.password>xxADB_2</jdbc.password>
</properties>
...
</project>

‣

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.

Preparado por Jesús Salinas Revelles
Filtrado de recursos

Definición de propiedades
‣ Existen dos estrategias para definir propiedades de usuario (cont.):
‣

También se pueden definir en ficheros de properties:
jdbc.url=jdbc:hsqldb:mem:mydb
jdbc.username=curso01
jdbc.password=curso01

‣

Para tenerlas en cuenta se deben en el fichero pom.xml se debe incluir:

<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.

Preparado por Jesús Salinas Revelles
Filtrado de recursos

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:
${nombreDePropiedad}

‣ Ejemplo:
<project>
...
<packaging>jar</packaging>
<build>
<finalName>${project.groupId}-${project.artifactId}</finalName>
</build>
</project>
Preparado por Jesús Salinas Revelles
Filtrado de recursos

Referencia a propiedades
‣ Propiedades del proyecto maven:
...
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>sibling-project</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
...

‣ Propiedades de configuración:
<settings>
<localRepository>/RepositorioPrueba</localRepository>
...
${settings.localRepository}
Preparado por Jesús Salinas Revelles
Filtrado de recursos

Referencia a propiedades
‣ Propiedades asociadas a variables de entorno:

${env.PATH}
${env.HOME}
${env.JAVA_HOME}
${env.M2_HOME}

‣ Propiedades asociadas al sistema Java:
${java.version}
${java.vendor}
${java.home}
...
${user.name}
${user.home}
${user.dir}
Preparado por Jesús Salinas Revelles
Filtrado de recursos

Referencia a propiedades
‣ Propiedades de usuario:
<project>
...
<properties>
<jdbc.username>sa</jdbc.username>
<jdbc.password>appfuse</jdbc.password>
</properties>
...
</project>

‣ Referencia a las propiedades:
${jdbc.username}
${jdbc.password}

Preparado por Jesús Salinas Revelles
Filtrado de recursos

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>
...

Preparado por Jesús Salinas Revelles

Ruta de la carpeta en la que se aplica la
sustitución de propiedades

Más contenido relacionado

Similar a Filtrado de recursos en Maven

Novedades de aries
Novedades de ariesNovedades de aries
Novedades de arieslmrv
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
Diseño de Objetos
Diseño de ObjetosDiseño de Objetos
Diseño de Objetos
Javier Calderon
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
Jorge Iván Meza Martínez
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
Rubén Aguilera
 
Curso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa MavenCurso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa Maven
Cristian Romero Matesanz
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
SaulSalinasNeri
 
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente ♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
Manuel Vidaurre
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETEmilio Torrens
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
Omar Rios
 
Introduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORMIntroduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORM
Juan Ramón Laguardia
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
Raúl Palacios López
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
jose luis barrientos
 

Similar a Filtrado de recursos en Maven (20)

Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
Patrones j2 ee
Patrones j2 eePatrones j2 ee
Patrones j2 ee
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
S1-DS2.pptx
 
Diseño de Objetos
Diseño de ObjetosDiseño de Objetos
Diseño de Objetos
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
 
S1 ds2
S1 ds2S1 ds2
S1 ds2
 
ejemplo de diseño
ejemplo de diseñoejemplo de diseño
ejemplo de diseño
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Curso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa MavenCurso Spring Roo Spring Data Jpa Maven
Curso Spring Roo Spring Data Jpa Maven
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente ♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
♬♪♬..I'm too sexy... ♫♪ catwalk... Como modelar el dominio efectivamente
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NET
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Introduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORMIntroduccion a Doctrine 2 ORM
Introduccion a Doctrine 2 ORM
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 

Más de Ematiz Tecnología, S.L.

Contenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecmContenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecm
Ematiz Tecnología, S.L.
 
El core de Alfresco 4.2
El core de Alfresco 4.2El core de Alfresco 4.2
El core de Alfresco 4.2
Ematiz Tecnología, S.L.
 
Estructura de un informe en JasperReports
Estructura de un informe en JasperReportsEstructura de un informe en JasperReports
Estructura de un informe en JasperReports
Ematiz Tecnología, S.L.
 
Introducción a JasperReports
Introducción a JasperReportsIntroducción a JasperReports
Introducción a JasperReports
Ematiz Tecnología, S.L.
 
Liferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosLiferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosEmatiz Tecnología, S.L.
 
Liferay 6.1 Campos personalizados desde el panel de control
Liferay 6.1  Campos personalizados desde el panel de controlLiferay 6.1  Campos personalizados desde el panel de control
Liferay 6.1 Campos personalizados desde el panel de controlEmatiz Tecnología, S.L.
 
Liferay versión 6.1 Trabajando con LDAP, introducción
Liferay versión 6.1  Trabajando con LDAP, introducciónLiferay versión 6.1  Trabajando con LDAP, introducción
Liferay versión 6.1 Trabajando con LDAP, introducciónEmatiz Tecnología, S.L.
 

Más de Ematiz Tecnología, S.L. (10)

Contenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecmContenidos personalizados en alfresco ecm
Contenidos personalizados en alfresco ecm
 
El core de Alfresco 4.2
El core de Alfresco 4.2El core de Alfresco 4.2
El core de Alfresco 4.2
 
Estructura de un informe en JasperReports
Estructura de un informe en JasperReportsEstructura de un informe en JasperReports
Estructura de un informe en JasperReports
 
Introducción a JasperReports
Introducción a JasperReportsIntroducción a JasperReports
Introducción a JasperReports
 
Liferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollosLiferay 6 1, Internacionalización en nuestros desarrollos
Liferay 6 1, Internacionalización en nuestros desarrollos
 
Liferay 6.1 Service Builder
Liferay 6.1  Service BuilderLiferay 6.1  Service Builder
Liferay 6.1 Service Builder
 
Liferay 6.1 Campos personalizados desde el panel de control
Liferay 6.1  Campos personalizados desde el panel de controlLiferay 6.1  Campos personalizados desde el panel de control
Liferay 6.1 Campos personalizados desde el panel de control
 
Liferay versión 6.1 Trabajando con LDAP, introducción
Liferay versión 6.1  Trabajando con LDAP, introducciónLiferay versión 6.1  Trabajando con LDAP, introducción
Liferay versión 6.1 Trabajando con LDAP, introducción
 
Liferay 6.1 Campos personalizados
Liferay 6.1 Campos personalizadosLiferay 6.1 Campos personalizados
Liferay 6.1 Campos personalizados
 
Trabajando con imagenes en liferay 6.1
Trabajando con imagenes en liferay 6.1Trabajando con imagenes en liferay 6.1
Trabajando con imagenes en liferay 6.1
 

Último

Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 

Último (20)

Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 

Filtrado de recursos en Maven

  • 2. Filtrado de recursos Índice del capítulo ‣ Introducción. ‣ Definición de propiedades. ‣ Referencia a propiedades. ‣ Activación del filtrado de recursos. Preparado por Jesús Salinas Revelles
  • 3. Filtrado de recursos 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. Preparado por Jesús Salinas Revelles
  • 4. Filtrado de recursos Introducción Preparado por Jesús Salinas Revelles
  • 5. Filtrado de recursos 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 Preparado por Jesús Salinas Revelles
  • 6. Filtrado de recursos Definición de propiedades ‣ Existen dos estrategias para definir propiedades de usuario: ‣ Definición en un fichero pom.xml. <project> ... <properties> <jdbc.username>rootUser</jdbc.username> <jdbc.password>xxADB_2</jdbc.password> </properties> ... </project> ‣ 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. Preparado por Jesús Salinas Revelles
  • 7. Filtrado de recursos Definición de propiedades ‣ Existen dos estrategias para definir propiedades de usuario (cont.): ‣ También se pueden definir en ficheros de properties: jdbc.url=jdbc:hsqldb:mem:mydb jdbc.username=curso01 jdbc.password=curso01 ‣ Para tenerlas en cuenta se deben en el fichero pom.xml se debe incluir: <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. Preparado por Jesús Salinas Revelles
  • 8. Filtrado de recursos 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: ${nombreDePropiedad} ‣ Ejemplo: <project> ... <packaging>jar</packaging> <build> <finalName>${project.groupId}-${project.artifactId}</finalName> </build> </project> Preparado por Jesús Salinas Revelles
  • 9. Filtrado de recursos Referencia a propiedades ‣ Propiedades del proyecto maven: ... <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>sibling-project</artifactId> <version>${project.version}</version> </dependency> </dependencies> ... ‣ Propiedades de configuración: <settings> <localRepository>/RepositorioPrueba</localRepository> ... ${settings.localRepository} Preparado por Jesús Salinas Revelles
  • 10. Filtrado de recursos Referencia a propiedades ‣ Propiedades asociadas a variables de entorno: ${env.PATH} ${env.HOME} ${env.JAVA_HOME} ${env.M2_HOME} ‣ Propiedades asociadas al sistema Java: ${java.version} ${java.vendor} ${java.home} ... ${user.name} ${user.home} ${user.dir} Preparado por Jesús Salinas Revelles
  • 11. Filtrado de recursos Referencia a propiedades ‣ Propiedades de usuario: <project> ... <properties> <jdbc.username>sa</jdbc.username> <jdbc.password>appfuse</jdbc.password> </properties> ... </project> ‣ Referencia a las propiedades: ${jdbc.username} ${jdbc.password} Preparado por Jesús Salinas Revelles
  • 12. Filtrado de recursos 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> ... Preparado por Jesús Salinas Revelles Ruta de la carpeta en la que se aplica la sustitución de propiedades