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

Spring Boot 2.0 Actuator /info端点未加载Git属性求助

解决Spring Boot 2.0.0.M7 + Gradle GitInfoContributor /info端点无数据问题

看起来你遇到了Spring Boot Actuator的/info端点无法加载Git信息的问题,结合你给出的场景和排查细节,我整理了几个针对性的解决思路:

1. 让IDEA完全依赖Gradle构建流程

你提到用gradle bootRun正常,但IDEA启动就失效,这大概率是因为IDEA用了内置的构建工具,没触发Gradle的processResources任务(gradle-git-properties正是在这个任务阶段生成git.properties)。

  • 打开IDEA的Settings -> Build, Execution, Deployment -> Build Tools -> Gradle,把Build and run using和Run tests using都改成Gradle,而不是IDEA的内置选项。这样IDEA启动项目时会先执行Gradle的完整资源处理流程,确保git.properties被生成并复制到正确位置。
  • 手动验证下:执行./gradlew processResources,然后去build/resources/main目录确认git.properties存在,再跑gradle clean build,用jar tf build/libs/你的应用.jar查看JAR包内是否包含这个文件。

2. 调整gradle-git-properties插件的执行时机

默认情况下,插件生成文件的时机可能太晚,导致后续的资源复制步骤没跟上。可以在build.gradle里显式配置插件的输出目录和任务依赖,确保文件在资源处理阶段就准备好:

gitProperties {
    outputDir = file("$buildDir/resources/main")
    // 让gitProperties任务在processResources前执行,同时processResources依赖它
    tasks.gitProperties.dependsOn tasks.processResources
    tasks.processResources.dependsOn tasks.gitProperties
}

这能避免生成的git.properties被后续的clean或打包步骤跳过。

3. 检查Spring Boot Actuator的自动配置是否被干扰

有时候自定义配置类可能无意中禁用了GitInfoContributor的自动加载,你可以:

  • 查看项目启动日志,搜索GitInfoContributor关键词,看是否有类似ConditionalOnResource的日志,确认Spring是否找到了git.properties文件。如果日志显示该组件未加载,说明文件路径不对或者没被正确读取。
  • 确认配置文件里没有设置management.info.enabled=false,这个配置会直接关闭所有/info端点的内容输出。

4. 给测试任务添加依赖

你提到执行gradle clean build时的测试会失效,这是因为测试任务可能在gitProperties任务执行前就启动了,导致上下文加载时没有git.properties。可以在build.gradle里添加:

test.dependsOn 'gitProperties'

这样测试执行前会先生成git.properties,确保测试时/info端点能正常读取到信息。

5. 清除IDEA缓存

IDEA的缓存有时候会“记住”旧的资源状态,导致新生成的git.properties没被加载。可以试试:

  • 点击File -> Invalidate Caches...,选择Invalidate and Restart清除缓存并重启IDEA。
  • 手动删除IDEA自动生成的out目录,然后重新执行gradle clean build,再用IDEA启动项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:37:31