2010-03-12 12 views
5

Soy nuevo en maven. Quiero usar el filtrado en un proyecto de varios módulos. El tipo de paquete del pom padre se establece en pom. La estructura del proyecto es la siguiente:Maven2 aplicando el filtrado al archivo en el empaque tipo pom

pom.xml 
    | 
    |______MODULE1 
    |  | 
    |  pom.xml 
    |  File1_needed_to_be_filtered 
    | 
    File2_needed_to_be_filtered 

Tenga en cuenta que Module1 también es un proyecto multímetro. Así que díganme cómo puedo aplicar el filtrado a file1 y file2. Y si aplico el filtrado al archivo 1, ¿dónde se almacenará el archivo procesado (ya que el archivo pom cuyo tipo de empaquetado es pom no crees ninguna carpeta llamada target) Por favor, ayúdame ya que esto es muy crítico para mí y se aborda este problema en ninguna otra parte en internet.

Respuesta

0

contar con recursos de filtro Maven al copiar, establecer el filtro de true para el directorio de recursos en su pom.xml:

<project> 
    ... 
    <build> 
    <resources> 
     <resource> 
     <directory>src/main/resources</directory> 
     <filtering>true</filterineg> 
     </resource> 
    </resources> 
    </build> 
</project> 

Pero si desea filtrar los recursos, no los ponga en un proyecto con un embalaje del tipo pom, esto no tiene sentido (por el motivo que se dio). En realidad, no entiendo lo que intentas lograr (ya que sabes que esto no es así).

+0

Hola pascal antes que nada gracias por tu interés. En realidad, necesito usar un proyecto de varios módulos y es por eso que estoy usando el tipo de empaque pom. Además, el archivo que debe filtrarse no está presente en la carpeta src/main/resources, está en la raíz de la carpeta principal. No puedo cambiar la jerarquía de los archivos, es por eso que estoy pasando por todos estos problemas. – Harmit

+0

@Hamit El paquete pom está bien (y de hecho se requiere) para agregar módulos a la configuración de múltiples módulos, pero me temo que no podrá filtrar recursos en dichos módulos. Lo que no entiendo es cómo se supone que se usarán estos recursos "filtrados". ¿Qué vas a hacer con ellos ya que están en un módulo de tipo pom? –

+0

Estos recursos son en realidad archivos de propiedades. Estos archivos (archivo1 y archivo2) se copiarán en una ubicación remota junto con otros archivos generados después del filtrado y la compilación. Estos archivos de configuración también son utilizados por los submódulos. Necesito establecer los valores en estos archivos manualmente, así que estaba pensando en usar el filtrado. Pero me temo que hay alguna manera de hacerlo. – Harmit

4

Puede usar el maven-assembly-plugin - con un formato 'dir' (aunque si hay más de un archivo, podría tener sentido convertirlo en un archivo de algún tipo). El descriptor format le permite filtrar. Esto debería funcionar con la jerarquía pom y de archivos que describe arriba.

Sin embargo, recomendaría poner estos en módulos hermanos en lugar de los padres. Esto mantiene la lógica fuera de su agregador pom, y (una vez que comience a hacer eso) puede decidir que es más fácil usar el ensamblaje para distribuirlos junto con sus otros componentes, de los cuales querría un módulo para todos modos.

+0

Hola Zac, gracias por la respuesta. En realidad, ya he optado por la segunda opción. Sin embargo, me gustaría probar tu primera opción cada vez que tenga algo de tiempo. – Harmit

Cuestiones relacionadas