Файлы pom.xml
и pom.properties
упакованы в JAR, так что каждый артефакт, созданный Maven, самоописателен, а также позволяет использовать метаданные в вашем собственном приложении, если возникнет такая необходимость. Одно простое использование может заключаться в том, чтобы получить версию вашего приложения.
Тем не менее, включение этих файлов может быть отключено при желании через MavenArchiverConfiguration, допускающий булево addMavenDescriptor параметра и это безопасно, чтобы не включать их (даже если я считаю, что хорошо иметь их). Например, для 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>
Что касается расположения этих файлов, документация addMavenDescriptor говорит:
ли созданный архив будет содержать эти два Maven файла:
- pom файл, находящийся в архиве
META-INF/maven/${groupId}/${artifactId}/pom.xml
- A
pom.properties
файл, находящийся в архиве META-INF/maven/${groupId}/${artifactId}/pom.properties
Значение по умолчанию - true.
Это должно ответить на ваш вопрос.
«Файлы pom.xml и pom.properties упаковываются в JAR, так что каждый артефакт, созданный Maven, самоописателен, а также позволяет использовать метаданные в вашем собственном приложении, если возникнет такая необходимость» - может вы даете мне примеры того, почему моему приложению нужны метаданные в файле pom? –