8

我正在使用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目录。我还添加了 property management.info.git.mode=full。由于官方文档,git 信息应该使用GitInfoContributor自动添加到/info端点。但是,以上都没有帮助,并且端点返回空 JSON 代替 - 。关于如何解决这个问题的任何想法?/info{}

更新1:到目前为止,我发现如果我手动复制git.propertiesout/resources,这样它就可以工作,但由于某种原因它们没有放在那里。

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

4

3 回答 3

9

问题是从 IDE 运行应用程序。由于属性是在组装 JAR 的阶段生成的,因此不包括在内。通过java -jar artifact.jar或运行应用程序gradle bootRun没有任何问题。

感谢@fateddy 帮助解决问题。

于 2018-01-08T09:52:55.933 回答
5

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

我使用 Maven,但 Gradle 应该可以进行类似的配置。

IntelliJ 构建/运行配置

于 2018-02-23T18:41:04.273 回答
3

对于 IntelliJ IDEA,您可以在 Settings (Preferences) |中启用Delegate IDE build/run actions to Gradle 选项。构建、执行、部署 | 构建工具 | 摇篮 | 跑步者选项卡。

于 2018-09-30T09:20:51.990 回答