【问题标题】:Get build timestamp on JBoss application获取 JBoss 应用程序的构建时间戳
【发布时间】:2021-10-25 13:55:47
【问题描述】:

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

  • 如下所示的属性文件:
version=${pom.version} 
build.date=${timestamp} 
  • 在 POM 属性中:
<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,但我无法在构建期间替换这些值。有关如何使其工作的任何提示?

【问题讨论】:

    标签: java properties jboss


    【解决方案1】:

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

    因此,您应该尝试使用classloader 加载文件。查看更多关于here的信息。

    【讨论】:

    • 工作完美,由于某种原因,我之前发现的所有内容都提到将属性放在standalone.xml中。谢谢!
    • 很高兴它成功了。您也可以接受答案,因为它对您有所帮助。
    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多