2010-12-14 9 views
7

Cuando maven construye un contenedor, coloca un pom.xml en META-INF /// pom.xml. Este es el pomo original del artefacto. No hay variables expandidas o heredadas y no se enumeran dependencias heredadas. Esto hace que la información del jar de producción dependa del entorno de compilación.cómo controlar el pom.xml dentro del tarro construido por maven?

¿Cómo se puede configurar el pomo dentro del contenedor? Lo mejor sería alguna configuración del plugin maven-jar.

Respuesta

6

Tenía un requisito similar, ya que quería obtener toda la información que pertenece a la matriz pom.xml. En otras palabras, quería tener, además del "crudo" pom.xml, el pom eficaz dentro del JAR generado.

La idea es utilizar el complemento help:effective-pom y el objetivo durante la generación del JAR, y ponerlo con el pom.xml. Esto se hace con esta configuración:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-help-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>effective-pom</goal> 
      </goals> 
      <configuration> 
       <output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/effective-pom.xml</output> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

(source)

+0

Esto es lo que realmente quería :-) Sólo me gustaría deshacerse del pom prima (que no puedo ver fácilmente pregunta vinculada) o recortar algo. – openCage

+2

leyendo más preguntas y respuestas relacionadas Encontré que puede suprimir el std pom en maven-jar-plugin false y nombrar el effective-pom just pom. – openCage

Cuestiones relacionadas