добавление комментария.файл свойств

использовать следующий блок кода

<propertyfile file="default.properties" comment="Default properties">
   <entry key="source.dir" value="1" />
   <entry key="dir.publish" value="1" />
   <entry key="dir.publish.html" value="1" />
</propertyfile>

Я могу генерировать default.properties файл со следующим содержимым файла

source.dir=1
dir.publish=1
dir.publish.html=1

Я хочу знать, как я могу добавить свои комментарии в сгенерированный файл? Е. Г. сгенерированные свойства должны иметь следующее содержание:

# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1

как я могу сделать это динамически, используя Ant build.xml?

3 ответов


запись файла свойств с несколькими комментариями не поддерживается. Почему ?

PropertyFile.java

public class PropertyFile extends Task {

    /* ========================================================================
     *
     * Instance variables.
     */

    // Use this to prepend a message to the properties file
    private String              comment;

    private Properties          properties;

задача файла свойств ant поддерживается java.util.Properties класс, который хранит комментарии, используя store () метод. Из задачи берется только один комментарий, который передается в Properties класс для сохранения в файл.

способ обойти это-написать свою собственную задачу, которая поддерживается Викискладе свойства вместо java.util.Properties. Файл свойств commons поддерживается параметром планировка позволяет настройки комментариев для отдельных клавиш в свойствах файла. Сохраните файл свойств с помощью save () метод и изменить новую задачу, чтобы принять несколько комментариев через <comment> элементы.


задача файла свойств для редактирование файлы свойств. Он содержит все виды приятных функций, которые позволяют изменять записи. Например:

<propertyfile file="build.properties">
    <entry key="build_number"
        type="int"
        operation="+"
        value="1"/>
</propertyfile>

я увеличил свой build_number один. Я понятия не имею, какова была ценность, но теперь она больше, чем была раньше.

  • использовать <echo> задача построить файл свойств вместо <propertyfile>. Вы можете легко макет контента, а затем использовать <propertyfile> чтобы отредактировать этот контент позже на.

пример:

<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
  • создать отдельные файлы свойств для каждого раздела. Для каждого типа разрешен заголовок комментария. Затем используйте, чтобы объединить их в один файл:

пример:

<propertyfile file="default.properties"
    comment="Default Configuration">
    <entry key="source.dir" value="1"/>
    <entry key="dir.publish" value="1"/>
<propertyfile>

<propertyfile file="source.properties"
    comment="Source Configuration">
    <entry key="dir.publish.html" value="1"/>
<propertyfile>
<concat destfile="build.properties">
    <fileset dir="${basedir}">
        <include name="default.properties"/>
        <include name="source.properties"/>
    </fileset>
</concat>

<delete>
    <fileset dir="${basedir}">
         <include name="default.properties"/>
        <include name="source.properties"/>
    </fileset>
</delete>      

по словам документация на PropertyFile задача, вы можете добавить сгенерированные свойства к существующему файлу. У вас может быть файл свойств только с строкой комментария, и задача Ant добавит сгенерированные свойства.