2010-12-14 16 views
7

Wenn Maven ein Glas baut, legt es eine pom.xml auf META-INF /// pom.xml. Dies ist der ursprüngliche Pom des Artefakts. Keine Variablen werden erweitert oder geerbt und keine geerbten Abhängigkeiten werden aufgelistet. Dadurch hängen die Informationen des Produktions-Jar von der Build-Umgebung ab.Wie steuere ich die pom.xml in Jar von maven?

Wie kann der Pom im Glas konfiguriert werden? Am besten wäre eine Konfiguration des maven-jar-plugins.

Antwort

6

Ich hatte eine ähnliche Anforderung, da ich alle Informationen erhalten wollte, die dem übergeordneten pom.xml gehören. In anderen Worten, ich wollte, zusätzlich zu der "rohen" pom.xml, die effektive POM innerhalb der JAR generiert haben.

Die Idee ist, das help:effective-pom Plugin und Ziel während der Generierung des JAR zu verwenden, und es mit der pom.xml. Dies wird mit dieser Konfiguration erfolgt:

<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

Dies ist, was ich wirklich wollte :-) Nur würde ich loswerden der rohen pom bekommen (was ich nicht so leicht sehen verknüpfte Frage) oder schneiden Sie es etwas ab. – openCage

+2

Lesen von mehr von verknüpften Fragen und Antworten Ich fand, dass Sie die Std-Pom im maven-jar-plugin false unterdrücken und den effektiven Pom nur Pom nennen können. – openCage

Verwandte Themen