2013-04-10 15 views
28

Za pomocą poniższego fragmentu kodu w build.xml plikudodając komentarz w .Properties plików

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

Jestem w stanie wygenerować default.properties plik z następujących zawartości pliku

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

Chcę wiedzieć, jak mogę dodać moje komentarze do wygenerowanego pliku? Na przykład. wygenerowane właściwości powinny mieć następującą treść:

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

Jak mogę zrobić to dynamicznie przy użyciu ant build.xml?

+0

Czy wymagają wiele uwagi we właściwościach pliku? Czy możesz edytować swoje pytanie, aby odzwierciedlić miejsce, w którym spodziewasz się tych komentarzy. –

+0

Tak, zmieniłem pytanie, a teraz widzisz, czego chcę ... –

+0

Tak, potrzebuję wielu komentarzy. –

Odpowiedz

8

Zapisywanie pliku właściwości z wieloma komentarzami nie jest obsługiwane. Czemu ?

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; 

Mrówka zadanie plik nieruchomość jest wspierany przez java.util.Properties klasy, która przechowuje komentarze przy użyciu metody store(). Z zadania zostaje pobrany tylko jeden komentarz, który jest przesyłany do klasy Properties w celu zapisania w pliku.

Sposób obejścia tego jest napisanie własnego zadania, które jest wspierane przez commons properties zamiast java.util.Properties. Plik właściwości commons jest wspierany przez property layout, który umożliwia settings comments for individual keys w pliku właściwości. Zapisz plik właściwości za pomocą metody save() i zmodyfikuj nowe zadanie, aby akceptowało wiele komentarzy za pośrednictwem elementów <comment>.

0

Zgodnie z documentation zadania PropertyFile można dołączyć wygenerowane właściwości do istniejącego pliku. Możesz mieć plik właściwości tylko z linią komentarza i mieć zadanie Ant dołączać wygenerowane właściwości.

5

Zadanie pliku właściwości jest przeznaczone do edytowania plików właściwości przy edycji. Zawiera wiele miłych funkcji, które pozwalają modyfikować wpisy. Na przykład:

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

Mam zwiększany moich build_number o jeden. Nie mam pojęcia, jaka była ta wartość, ale teraz jest o wiele większa niż przedtem.

  • Użyj zadania <echo> do zbudowania pliku właściwości zamiast <propertyfile>. Możesz łatwo rozmieścić zawartość, a następnie użyć jej do późniejszej edycji.

przykład:

<echo file="build.properties"> 
# Default Configuration 
source.dir=1 
dir.publish=1 
# Source Configuration 
dir.publish.html=1 
</echo> 
  • utworzyć oddzielne pliki właściwości dla każdej sekcji. Masz dozwolony nagłówek komentarza dla każdego typu.Następnie, należy do partii ich razem w jednym pliku:

Przykład:

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

Najbardziej lubię tę odpowiedź. Jest kreatywny i prosty w użyciu. Thanx! – Mig82

Powiązane problemy