You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spring Boot的JSP中渲染buildInfo()生成的版本信息

解决方案:直接通过Spring Boot的BuildProperties Bean访问

你可以直接在JSP中通过EL表达式引用Spring Boot自动配置的BuildProperties Bean,它会自动封装build-info.properties里的所有构建信息,完全不需要额外配置或重复定义属性。

具体步骤很简单:

  1. 确保你已经在build.gradle中保留了springBoot { buildInfo() }配置,这会自动生成构建信息并让Spring Boot注册BuildProperties Bean。
  2. 在你的JSP页面中,直接使用EL表达式获取版本号:
<p>当前应用版本:${buildProperties.version}</p>

除了version,你还可以访问其他构建属性,比如:

  • ${buildProperties.group}:项目组ID
  • ${buildProperties.name}:项目名称
  • ${buildProperties.time}:构建时间(格式为ISO-8601)

为什么这个方案更优?

  • 完全复用buildInfo()插件生成的信息,没有冗余配置,避免了你提到的重复定义application.version的问题。
  • 不需要修改application.properties或添加额外的Gradle任务,保持配置简洁。
  • 直接对接Spring Boot的原生支持,稳定性更高。

关于你之前的<spring:eval>方案失效的原因

理论上,build.version属性应该会被Spring Boot自动加载到Environment中,但在JSP环境下,可能因为Spring标签的上下文解析问题,导致无法正确读取。而直接引用BuildProperties Bean是更直接、更可靠的方式,因为它就是Spring Boot专门为暴露构建信息设计的组件。

注意事项

  • 这个方案要求你的Spring Boot版本在1.4及以上(BuildProperties类从该版本开始引入),如果你的版本过老,建议升级到稳定的新版本。
  • 确保你的JSP页面已经正确启用了EL表达式(一般Spring Boot项目默认是启用的,如果有问题,可以在页面开头添加<%@ page isELIgnored="false" %>)。

内容的提问来源于stack exchange,提问作者ChrisDekker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:36:54