2009-07-09 13 views
12

Tengo un super pom definido en el que especifico un directorio de "recursos" para los recursos. En uno de mis proyectos, mi pom extiende ese super pom y me gustaría agregar un recurso adicional. Probé:agregando recursos adicionales a un maven pom

<resources> 
     <resource> 
      <targetPath>/</targetPath> 
      <directory>additionalDir</directory>     
     </resource> 
    </resources> 

Pero que resulta en única additionalDir estar en los recursos y no incluye los recursos del super pom. ¿Hay alguna manera de extender los recursos del super pom?

Respuesta

14

Se espera el comportamiento que ha descrito.

Recuerde que su super POM hereda de Maven's default POM y casi cualquier complemento que defina en su pom efectivamente anula la configuración en el POM predeterminado. Como ejemplo, para habilitar el filtrado en el recurso predeterminado, debe especificar la ruta en su POM. Esto se hace:

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

No es esto:

<resources> 
    <resource> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

El directorio por defecto no lo hace burbujear para usted, incluso si ha especificado allí. Puede haber un MOJO especial para que lo haga por ti, pero no pude encontrar uno.

+0

gracias por aclarar. –

+0

Me pregunto, ¿cómo solucionó esto la pregunta de la operación? ¿Podrías por favor aclararlo? Donde debería hacer cualquier cambio – Jaskey

3

Consulte la página de build-helper-maven-plugin usage.

+0

Esto SI FUNCIONA, es un poco desagradable tener que especificar ' $ {project.outputDirectory}' y ' true' que ni siquiera está documentado (pero funciona). – ggb667

0

Sí, maven anula los recursos del POM principal al redefinir la nueva sección de recursos.

Sin embargo, una forma sencilla de añadir recursos es

  1. Retire la sección de recursos de su POM
  2. Mostrar el POM efectiva
  3. Copiar los recursos de su POM efectiva en su proyecto
  4. Reemplace las rutas absolutas por las relativas
  5. Agregue sus recursos adicionales