我想在 JSF 应用程序的页脚显示构建版本和构建日期。这些页面是 XHTML。我正在寻找从 pom.xml 或其他工件中获取信息的方法。
我发现以下使用 maven-replace 插件。 http://www.vineetmanohar.com/2010/09/how-to-display-maven-project-version-in-your-webapp/
您还使用其他技术吗?
我正在用 JSF 寻找类似的东西 -显示构建日期
一种可行的方法:使用 Maven 过滤将包含所需信息的文件放入 WAR 或 JAR 中。然后在您的 Java webapp 中,将该文件的内容加载为 ClassPath 资源InputStream
。
创建一个包含以下内容的文件(比如说“buildInfo.properties”)src/main/resources
:
build.version=${project.version}
build.timestamp=${timestamp}
请注意,由于存在开放缺陷,您需要在pom 的块中定义timestamp
如下属性:<properties>
`<timestamp>${maven.build.timestamp}</timestamp>`
在您构建期间,此文件将使用 project.version 的值(您<version>
在 pom.xml 中定义,当您指定
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
在您的 Java 代码(JSF bean 等)中,有如下代码:
InputStream in = getClass().getClassLoader().getResourceAsStream("buildInfo.properties");
if (in == null)
return;
Properties props = new Properties();
props.load(in);
String version = props.getProperty("build.version");
// etc.
如果您的框架支持从类路径加载属性作为“资源包”(例如在 Spring 中),则不需要前面加载属性文件的 Java 代码。