Встраивание времени сборки в JAR Manifest с использованием Ant - PullRequest
20 голосов
/ 10 ноября 2010

Если я хочу встроить текущее время в манифест 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>

Ответы [ 2 ]

22 голосов
/ 10 ноября 2010

Для этого вы можете использовать задачу tstamp .

 <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 вы можете определить собственный формат для любого из них.

0 голосов
/ 01 декабря 2017

Используйте только формат UTC в jar или war META-INF / MANIFEST.MF (не используйте локализованную дату / время без TZ, потому что вы потеряете информацию о TimeZone).

См. Как сделать так, чтобы Maven показывал местный часовой пояс в maven.build.timestamp?

...