Как прочитать файл внешних свойств в Maven
Кто-нибудь знает, как прочитать файл x.properties в Maven. Я знаю, что есть способы использовать фильтрацию ресурсов для чтения файла свойств и установки значений из него, но я хочу, чтобы в моем файле pom.xml был такой способ:
<properties file="x.properties">
</properties>
Было некоторое обсуждение по этому поводу: Maven External Properties
3 ответа
Используя предложенный плагин свойств Maven, я смог прочитать файл buildNumber.properties, который я использую для создания версий своих сборок.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/../project-parent/buildNumber.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Этот ответ на аналогичный вопрос описывает, как расширить плагин свойств, чтобы он мог использовать удаленный дескриптор для файла свойств. Дескриптор - это, по сути, артефакт jar, содержащий файл свойств (файл свойств включен в src/main/resources).
Дескриптор добавляется как зависимость к плагину расширенных свойств, поэтому он находится на пути к классам плагина. Плагин будет искать путь свойств в classpath, читать содержимое файла в экземпляр Properties и применять эти свойства к конфигурации проекта, чтобы их можно было использовать в другом месте.