Spring Boot 2.0 Actuator git 属性未添加到 /info

Spring Boot 2.0 Actuator git properties not added to /info

我正在使用 GradleSpring Boot 2.0.0.M7 并应用了以下插件:

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.0.M7"
    }
}

plugins {
    id "com.gorylenko.gradle-git-properties" version "1.4.17"
}

spring-boot-starter-actuator 依赖也在那里。 git.properties 文件正确生成到 build/main/resoures 目录。我还添加了 属性 management.info.git.mode=full。由于官方文档,git information should be added to /info endpoint automatically with GitInfoContributor。然而,上述 none 有帮助,/info 端点 returns 为空 JSON 而不是 - {}。关于如何解决这个问题有什么想法吗?

更新 1: 到目前为止我发现的是,如果我手动将 git.properties 复制到 out/resources,这样它会起作用,但由于某种原因它们没有放在那里。

更新 2: 当我 运行 和 gradle bootRun 它工作时,但是当我从 Intellij IDEA 启动它时我们的 运行 gradle clean build 其中 运行s 测试检查这些属性是否是显示在 /info 端点上 - 它不起作用。

问题是 运行 来自 IDE 的应用。由于属性是在组装 JAR 时在阶段生成的,因此未包括在内。 运行 通过 java -jar artifact.jargradle bootRun 的应用程序可以正常工作。

感谢@fateddy 帮助解决问题。

您可以将 IDE 配置为在 Build/Launch 之前调用 process-resources maven 目标,这将导致 git.properties 文件和 build-info在应用程序启动之前生成的 .properties 文件。

我使用 Maven,但 Gradle.

应该可以进行类似的配置

对于 IntelliJ IDEA,您可以在设置(首选项)中启用 委托 IDE build/run 操作到 Gradle 选项 ) |构建、执行、部署 |构建工具 | Gradle |亚军选项卡。