获取 JBoss 应用程序的构建时间戳

Get build timestamp on JBoss application

我们在 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,但我无法在构建期间替换这些值。关于如何让它发挥作用的任何提示?

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

因此您应该尝试使用 classloader 加载文件。检查更多 here.