Встраивание времени сборки в JAR Manifest с помощью Ant
Если я хочу вставить текущее время в манифест JAR с помощью ant, есть ли свойство ant, которое я могу использовать для "сейчас" и какой атрибут манифеста лучше всего разместить эту информацию?
В настоящее время у меня есть
<manifest>
<attribute name="Signature-Title" value="${project.name}"/>
<attribute name="Signature-Version" value="${release.version}"/>
<attribute name="Signature-Vendor" value="XXX"/>
<attribute name="Built-By" value="${user.name}"/>
</manifest>
Ответы
Ответ 1
Для этого вы можете использовать tstamp task.
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<manifest>
<attribute name="Signature-Title" value="${project.name}"/>
<attribute name="Signature-Version" value="${release.version}"/>
<attribute name="Signature-Vendor" value="XXX"/>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Built-Date" value="${TODAY}"/>
</manifest>
Эта задача задала три свойства (DSTAMP, TSTAMP и TODAY) с текущей меткой времени, каждая в другом формате по умолчанию (проверьте ссылку). С вложенным format
node вы можете определить пользовательский формат для любого из них.
Ответ 2
Используйте только формат UTC в jar
или war
META-INF/MANIFEST.MF(не используйте локализованную дату/время без TZ, потому что вы потеряете информацию TimeZone).
См. Как установить локальный часовой пояс Maven в maven.build.timestamp?