我正在为我的项目使用Eclipse Java。我想向用户显示构建时间。如何让Eclipse(或插件)将构建时间戳插入属性文件?
答案 0 :(得分:1)
您可以使用 maven 或 ant 。 一个快速谷歌的maven和构建时间戳返回this。
Maven也非常适合管理依赖项等,但它需要一些时间才能适应它。 Ant更容易一些,但只是用于构建。
答案 1 :(得分:0)
使用Ant可以将构建时间戳保存到属性文件中。例如:如果你有一个名为project.props的属性文件,在Ant中你可以定义一个目标,它可以在构建期间每次运行:
<target name="buildtime">
<tstamp>
<format property="buildtime" pattern="yyyy MMMM dd HH:mm:ss" locale="en"/>
</tstamp>
<echo message="Current time and date: ${buildtime}" />
<!-- property name="buildtime" value="${buildtime}"/ -->
<propertyfile file="project.props">
<entry key="buildtime" type="date" value="${builltime}" />
</propertyfile>
</target>
构建之后,将使用构建时间戳更新属性文件。
答案 2 :(得分:0)
我通过添加一个&#39;构建器来解决这个特殊问题(在Eclipse 3.8.1 debbuild中)。 .. [项目] - &gt;属性 - &gt;建设者 - &gt;新 - &gt;程序
这里我添加了一个指向项目目录中bash脚本的链接,该脚本将属性文件写入我的项目资源/属性文件夹,其中包含major,minor,svn修订版,时间戳等的键=值对。确保脚本生成器在Java Builder之上。
在我的项目中,我在请求时将这些属性读入版本对象。
这种方法没问题,但除非我选择“运行构建器”下的所有选项,否则这种方法很奇怪:&#39;在&#39;构建选项&#39;标签。 Eclipse似乎存储了很多冗余状态,尤其是关于文件系统。使用这些设置,版本会重新生成很多,但这适合我。我有相同的机制为我的项目使用的每个模块生成版本属性。
最大的反感觉是导出jar文件时无法触发此行为。在导出之前有一个选项可以触发清理/构建。
Ps:我有一个独立于Eclipse的并行Ant构建,它使用相同的bash脚本来生成属性文件。从Eclipse内部使用Ant或Maven不适合我。