【发布时间】:2012-05-05 12:32:56
【问题描述】:
我正在使用 Hudson 进行持续集成。我正在使用 Maven。我的是一个网络应用程序。它制造了一场战争。我想显示内部版本号。构建号可以使用 maven-war 插件包含在战争中,因为 hudson 支持环境变量 BUILD_NUMBER。内部版本号将在清单文件中提供。我的要求是我需要从清单文件中检索内部版本号并显示在 jsp/html 文件中。我怎样才能实现它?请帮帮我。
谢谢!
【问题讨论】:
我正在使用 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,每个都有自己的清单。也许你可以做类似here 描述的事情?
【讨论】: