20

antを使用して現在の時刻をJARマニフェストに埋め込みたい場合、「今」に使用できる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>
4

2 に答える 2

23

これには、 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>

このタスクでは、現在のタイムスタンプを持つ3つのプロパティ(DSTAMP、TSTAMP、およびTODAY)を、それぞれ異なるデフォルト形式で設定します(リンクを確認してください)。ネストされたformatノードを使用すると、それらの任意のカスタム形式を定義できます。

于 2010-11-10T10:34:54.653 に答える
0

UTC形式はjarまたはwarMETA-INF / MANIFEST.MFでのみ使用してください(TimeZone情報が失われるため、TZなしでローカライズされた日付/時刻を使用しないでください)。

Mavenにローカルタイムゾーンをmaven.build.timestampで表示させる方法を参照してください。

于 2017-12-01T11:07:49.410 に答える