我正在使用这个Sping Boot guide Building a RESTful Web Service with Spring Boot Actuator。当访问端点/actuator/info
时,我得到了空的JSON响应{}
。
致动器API文档提到了响应结构,其中包含构建信息,如 artifact,group,name,version 和git信息,如 * 分支,commit* 等。
如何启用文档化的响应结构。我想使用maven作为构建工具(而不是gradle)。这是我的pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>actuator-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>actuator-service</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
字符串
5条答案
按热度按时间htzpubme1#
经过进一步研究,我在文档中找到了答案:
Git信息
将其添加到pom.xml的plugins部分。maven将在构建
./target/classes/git.properties
期间生成此文件。Spring将读取此文件的内容并将其包含在/actuator/info
的响应中字符串
请参阅Git提交信息和生成Git信息
Build信息
向spring-boot-maven插件添加执行目标。这将生成文件
./target/classes/META-INF/build-info.properties
。Spring将读取此文件的内容并将其包含在/actuator/info
的响应中型
来源:Build Information和Generate Build Information
kx7yvsdv2#
下面是Gradle上的工作解决方案。Gralde版本7.3.2 SpringBoot版本:2.6.1
要包含项目的执行器。below依赖项应添加到build.gradle文件中。
字符串
默认情况下,只有健康是通过网络提供的。因此,要启用信息执行器,请在应用程序中添加下面的条目。yml
型
现在,当我们运行应用程序并尝试访问/actuator/info端点时,它会打印空的json作为响应。这是info actuator end point的默认行为。
要从build.gradle生成buildInfo,请在gradle文件中添加以下内容
型
现在,如果您运行应用程序并点击/actuator/info端点,输出将是项目的构建信息
型
我们还可以配置生成git提交信息。要做到这一点,你必须在下面的插件中应用
型
一旦完成,在项目构建时,它将在您的build/resources文件夹中生成一个名为git.properties的文件。
现在/actuator/info端点也将从git.properties生成git信息。默认情况下,它不会从git.properties生成所有的参数。
如果你想在/info endpoint中看到完整的git配置,在application.yml中执行下面的配置
型
参考资料:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/howto-build.html#howto-build-infohttps://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/howto-build.html#howto-git-info
7vux5j2d3#
例如,您可以通过将以下内容添加到您的application.properties
字符串
来源:https://dzone.com/articles/magic-with-spring-boot-actuator
nzrxty8p4#
我遇到了同样的问题,
/actuator/info
总是返回{}
首先,添加插件(lombok不是必需的):
字符串
第二,去
Maven -> compile
。现在,在target/classes
应该生成git.properties和META-INF文件夹与build-info.properties。最后,运行您的应用程序,就是这样!
ycl3bljg5#
上面所有的回答都缺少了一些东西,所以我是这样做的:
字符串
和
型
然后将生成git.properties文件,因此您基本上可以检查所需值的键并访问它,例如:
型