Принятый ответ вид несправедливости, в зависимости от кодирования документа. Если никакое кодирование не отправляется в HTTP-заголовке, браузер должен определить кодирование из самого документа.
, Если документ использует объявление для объявления его кодирования, то какой-либо символ со знаком ASCII (код символа < 128), происходящий, прежде чем этот оператор должен быть значением ASCII, согласно спецификация HTML 4. Поэтому важно, чтобы этот
meta
объявление произошло перед любым другим элементом, который может содержать символы неASCII.
Обновление: вы можете использовать antcall для вызова задачи и создания / вывода новой метки времени в рамках этого вызова.
В этом примере показано, как передать сообщение вызову. и отобразите текущую временную метку с сообщением:
<target name="timestamp2">
<tstamp>
<format property="current.time" pattern="MM/dd/yyyy hh:mm:ss aa" />
</tstamp>
<echo message="${message} ${current.time}" />
</target>
<target name="test">
<antcall target="timestamp2">
<param name="message" value="hello" />
</antcall>
<sleep seconds="5"/>
<antcall target="timestamp2">
<param name="message" value="world" />
</antcall>
</target>
Результатом выполнения будет:
test:
timestamp2:
[echo] hello 09/24/2009 05:33:22 PM
timestamp2:
[echo] world 09/24/2009 05:33:24 PM
Я обнаружил, что если вы используете его как макрос, а не цель-муравей, она работает лучше, поскольку она не выполняет цикл через файл муравья с самого начала каждый раз, когда вы выполняете antcall target =
(меньше проверяйте, есть ли у вас зависимости и наборы свойств).
<target name="testMe">
<MyTimestamp></MyTimestamp>
<sleep seconds="5"></sleep>
<MyTimestamp></MyTimestamp>
</target>
<macrodef name="MyTimestamp">
<sequential >
<tstamp>
<format property="current.time" pattern="MM/dd/yyyy hh:mm:ss aa"/>
</tstamp>
<echo message="RUN_TIME: ${current.time}"/>
</sequential>
</macrodef>