I file pom.xml
e pom.properties
vengono impacchettati nel JAR in modo che ogni artefatto prodotto da Maven sia auto-descrittivo e consente inoltre di utilizzare i metadati nella propria applicazione, nel caso si presentasse la necessità. Un semplice utilizzo potrebbe essere quello di recuperare la versione dell'applicazione.
Detto questo, l'inclusione di questi file può essere disattivato se desiderata attraverso MavenArchiverConfiguration che ammette un valore booleano addMavenDescriptor parametro ed è sicuro di non includerli (anche se lo trovo bello avere loro). Ad esempio per una JAR:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
Per quanto riguarda la posizione di questi file, la documentazione di addMavenDescriptor dice:
Sia l'archivio generato conterrà questi due file Maven:
- Il file pom, che si trova nell'archivio in
META-INF/maven/${groupId}/${artifactId}/pom.xml
- Un file
pom.properties
, che si trova nell'archivio in META-INF/maven/${groupId}/${artifactId}/pom.properties
Il valore predefinito è true.
Questo dovrebbe rispondere alla tua domanda.
fonte
2009-11-05 03:18:39
"I file pom.xml e pom.properties sono impacchettati nel JAR in modo che ogni artefatto prodotto da Maven sia auto-descrittivo e consente anche di utilizzare i metadati nella propria applicazione, in caso di necessità" - può mi dai esempi sul motivo per cui la mia app avrebbe bisogno dei metadati in un file pom? –