2012-06-12 4 views
1

Когда я компилирую свой проект в Netbeans, я хочу автоматически сгенерировать файл, который содержит номер сборки, который автоматически увеличивает и дату, поэтому я добавил следующее в файл build.xml проекта.Можно ли отключить автоматическую отметку времени в файле свойств Ant?

<target name="-pre-jar" > 
    <propertyfile file="${src.dir}\buildstring.txt" > 
     <entry key="devbuild" value="1" type="int" operation="+"/> 
     <entry key="devbuildtime" type="date" value="now" pattern="yyyy MM dd hh_mm" /> 
    </propertyfile> 
</target> 

Когда выполняет задачи Ant, Ant автоматически добавляет метку даты в первой строке файла

#Tue, 12 Jun 2012 16:09:24 -0500 
devbuild=8 
devbuildtime=2012 06 12 04_09 

Есть ли способ, чтобы остановить Ant из автоматического добавления первой строки с датой комментария ?

ответ

3

PropertyFile Задача Ant реализована с использованием объекта java.util.Properties. Метод Properties.store() документирован со следующей запиской:

Далее строка комментария всегда пишутся, состоящие из ASCII символа #, текущей даты и времени (как в случае производства по методу ToString от даты для тока время) и разделитель строк, созданный Writer.

Поэтому комментарий даты не может быть отключен с помощью задания PropertyFile. Для удаления комментария даты потребуется другое решение, например, после обработки файла свойств или записи файла свойств с использованием другого метода (например, с использованием скрипта Ant или пользовательской задачи Ant).

См: Remove comments in properties file java

+0

Спасибо, я закончил работу с файлом свойств, чтобы отслеживать только номер сборки автоматического увеличения. Я добавил вторую задачу, которая считывает номер сборки из файла свойств файла, а затем использует ECHO для создания файла buildstring.txt без комментария. Немного утомительно, но это работает. – JayG

2

Вот мое решение: 1. написать свойства в временный файл 2. скопировать временный файл в файл конечного имущества с использованием filterchain, чтобы пропустить первую линию 3. удалить temp file

<propertyfile file="temp.properties" > 
    <entry key="property.1" value="value1"/> 
    <entry key="property.2" value="value2"/> 
</propertyfile> 

<copy file="temp.properties" tofile="final.properties"> 
    <filterchain> 
     <headfilter skip="1"/> 
    </filterchain> 
</copy> 
<delete file="temp.properties"/> 
Смежные вопросы