我正在使用 Hudson 进行持续集成。我正在使用 Maven。我的是一个网络应用程序。它制造了一场战争。我想显示内部版本号。构建号可以使用 maven-war 插件包含在战争中,因为 hudson 支持环境变量 BUILD_NUMBER。内部版本号将在清单文件中提供。我的要求是我需要从清单文件中检索内部版本号并显示在 jsp/html 文件中。我怎样才能实现它?请帮我。
谢谢!
在进行 Maven 构建时,您可以将构建号作为命令行参数传递。例如:
mvn clean install -DskipTests=true -DciVersion=appversion.1
其中appversion.1由您的 CI 工具生成。您可以在资源中创建一个文件,例如version.txt,其中包含以下内容。
build.version=${ciVersion}
在 pom.xml 中,您可以将版本指定为
<version>${ciVersion}</version>
同样在 POM 中添加资源过滤,请参阅Resource pulgin,它在 version.txt 中替换您的版本并将文件复制到最终构建文件中。
现在,您可以在 JSP/类中读取此文件以获取版本。
读取清单可能会很棘手,因为可能有很多已加载的 JAR,每个都有自己的清单。也许你可以做类似这里描述的事情?