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


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

<properties file="x.properties"> 

</properties>

было некоторое обсуждение по этому поводу: Внешние Свойства Maven

3 112

3 ответа:

С помощью предлагаемого плагина свойств Maven я смог прочитать в buildNumber.файл свойств, который я использую для версии моих сборок.

  <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).

дескриптор добавляется в качестве зависимости к плагину расширенных свойств, поэтому он находится на пути к классам плагина. Плагин будет искать путь к классу для файла свойств, читать содержимое файла в экземпляр свойств и примените эти свойства к конфигурации проекта, чтобы их можно было использовать в другом месте.