Как прочитать файл внешних свойств в Maven

Кто-нибудь знает, как прочитать файл x.properties в Maven. Я знаю, что есть способы использовать фильтрацию ресурсов для чтения файла свойств и установки значений из него, но я хочу, чтобы в моем файле pom.xml был такой способ:

<properties file="x.properties"> 

</properties>

Было некоторое обсуждение по этому поводу: Maven External Properties

3 ответа

Решение

Попробуйте плагин свойств Maven

Используя предложенный плагин свойств 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 и применять эти свойства к конфигурации проекта, чтобы их можно было использовать в другом месте.

Другие вопросы по тегам