Java 使用Ant将构建时间嵌入JAR清单
如果我想使用ant将当前时间嵌入JAR清单中,是否有一个ant属性可以用于“now”以及哪个清单属性最适合放置此信息 我目前有以下几点Java 使用Ant将构建时间嵌入JAR清单,java,ant,manifest,build-time,Java,Ant,Manifest,Build Time,如果我想使用ant将当前时间嵌入JAR清单中,是否有一个ant属性可以用于“now”以及哪个清单属性最适合放置此信息 我目前有以下几点 <manifest> <attribute name="Signature-Title" value="${project.name}"/> <attribute name="Signature-Version" value="${release.version}"/> <attribute
<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>
您可以使用
<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),每个属性都采用不同的默认格式(检查链接)。使用嵌套的
格式
节点,您可以为它们中的任何一个定义自定义格式。仅在jar
或war
META-INF/MANIFEST.MF中使用UTC格式(不要使用没有TZ的本地化日期/时间,因为您将丢失时区信息)
请参见值得注意的是,将构建时间嵌入清单将导致每次重建战争,即使没有任何更改;不太干净。