web-dev-qa-db-fra.com

ajout de commentaires dans les fichiers .properties

En utilisant le bloc de code suivant dans build.xml fichier

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

Je suis capable de générer default.properties fichier avec le contenu suivant

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

Je veux savoir comment puis-je ajouter mes commentaires dans le fichier généré? Par exemple. les propriétés générées doivent avoir le contenu suivant:

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

Comment puis-je le faire dynamiquement en utilisant Ant's build.xml?

37
Ashwin Hegde

L'écriture du fichier de propriétés avec plusieurs commentaires n'est pas prise en charge. Pourquoi ?

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;

La tâche de fichier de propriétés ant est soutenue par un Java.util.Properties classe qui stocke les commentaires en utilisant la méthode store () . Un seul commentaire est pris dans la tâche et est transmis à la classe Properties pour être sauvegardé dans le fichier.

Pour contourner ce problème, écrivez votre propre tâche qui est soutenue par propriétés communes au lieu de Java.util.Properties. Le fichier de propriétés commun est soutenu par un disposition des propriétés qui permet commentaires de paramètres pour les clés individuelles dans le fichier de propriétés. Enregistrez le fichier de propriétés avec la méthode save () et modifiez la nouvelle tâche pour accepter plusieurs commentaires via <comment> éléments.

9
Deepak Bala

La tâche de fichier de propriétés concerne les fichiers de propriétés édition. Il contient toutes sortes de fonctionnalités Nice qui vous permettent de modifier les entrées. Par exemple:

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

J'ai augmenté mon build_number par un. Je n'ai aucune idée de la valeur, mais c'est maintenant une valeur supérieure à celle d'avant.

  • Utilisez le <echo> tâche pour créer un fichier de propriétés au lieu de <propertyfile>. Vous pouvez facilement mettre en forme le contenu, puis utiliser <propertyfile> pour éditer ce contenu plus tard.

Exemple:

<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
  • Créez des fichiers de propriétés distincts pour chaque section. Vous êtes autorisé à un en-tête de commentaire pour chaque type. Ensuite, utilisez pour les regrouper dans un seul fichier:

Exemple:

<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>      
8
David W.

Selon la documentation de la tâche PropertyFile, vous pouvez ajouter les propriétés générées à un fichier existant. Vous pouvez avoir un fichier de propriétés avec uniquement la ligne de commentaire et demander à la tâche Ant d'ajouter les propriétés générées.

1
mthmulders