3

我正在为我的项目使用 Eclipse Java。我想向用户显示构建时间。如何让 Eclipse(或插件)将构建时间戳插入属性文件?

4

3 回答 3

1

您可以使用mavenant。一个快速谷歌的 Maven 和构建时间戳返回了这个

Maven 也非常适合管理依赖项等,但需要一些时间来适应它。Ant 稍微容易一些,但只是用于构建。

于 2012-06-26T07:15:32.340 回答
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>

构建后,属性文件将使用构建时间戳进行更新。

于 2012-06-26T19:51:57.380 回答
0

我通过添加一个'builder'解决了这个特殊问题(在Eclipse 3.8.1 debbuild中).. [Project] --> Properties --> Builders --> New --> Program

在这里,我在我的项目目录中添加了一个 bash 脚本的链接,该脚本将一个属性文件写入我的项目资源/属性文件夹,其中 key=value 对主要、次要、svn 修订、时间戳等。确保脚本构建器高于Java 生成器。

在我的项目中,我在请求时将这些属性读入版本对象。

这可以正常工作,尽管它非常不稳定,除非我在“构建选项”选项卡中选择“运行构建器:”下的所有选项。Eclipse 似乎存储了很多冗余状态,尤其是关于文件系统。使用这些设置,版本会重新生成很多,但这适合我。我有相同的机制为我的项目使用的每个模块生成版本属性。

最大的反特性是在导出 jar 文件时无法触发此行为。最好有一个选项在导出之前触发清理/构建。

Ps:我有一个独立于 Eclipse 的并行 Ant 构建,它使用相同的 bash 脚本来生成属性文件。在 Eclipse 中使用 Ant 或 Maven 不适合我。

于 2016-07-04T01:17:05.207 回答