在 .properties 文件中添加注释

2022-09-01 03:20:50

通过在文件中使用以下代码块build.xml

<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

我如何使用蚂蚁的动态操作?build.xml


答案 1

属性文件任务用于编辑属性文件。它包含各种不错的功能,允许您修改条目。例如:

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

答案 2

不支持写入包含多个注释的属性文件。为什么?

属性文件.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 属性文件任务由一个类支持,该类使用 store() 方法存储注释。仅从任务中获取一个注释,该注释将传递给类以保存到文件中。java.util.PropertiesProperties

解决这个问题的方法是编写自己的任务,该任务由共享资源属性而不是.共享资源属性文件由属性布局支持,该布局允许属性文件中各个键的设置注释。使用 save() 方法保存属性文件,并修改新任务以通过元素接受多个注释。java.util.Properties<comment>


推荐