首页 > 解决方案 > 获取 JBoss 应用程序的构建时间戳

问题描述

我们在 JBoss 7.2 上有一个 Web 应用程序。现在我想在我的 UI 中显示构建时间戳以进行调试,所以我添加了

version=${pom.version} 
build.date=${timestamp} 
<properties>
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>

在构建时,这会成功生成具有正确值的 .properties 文件,例如

version=0.1-SNAPSHOT
build.date=2021-08-25 12:00

但是,部署后,该属性文件不再可用。当我的前端 bean 尝试通过以下方式访问文件时,我收到 FileNotFoundException

String propertyPath = "src/main/resources/version.properties";
try (InputStream properties = new FileInputStream(propertyPath)) {

    Properties prop = new Properties();
    prop.load(properties);
}
...

现在我当然可以将属性添加到我的standalone.xml,但我无法在构建期间替换这些值。有关如何使其工作的任何提示?

标签: javapropertiesjboss

解决方案


您遇到的问题完全有道理。您正在尝试使用源代码路径读取文件src/main/resources/version.properties。由于您已经构建了应用程序并从中创建了一个 jar,因此相关文件不再位于此路径下。

因此,您应该尝试使用classloader. 在此处查看更多信息。


推荐阅读