我正在尝试使用jcabi-manifests https://github.com/jcabi/jcabi-manifests库将 AppName 和 Version 添加到执行器的/info端点。代码片段如下:
@Component
public class VersionInfoContributor implements InfoContributor {
@Override
public void contribute(Info.Builder builder) {
String artifactName = Manifests.read("Artifact-Name");
builder.withDetail("Artifact-Name", artifactName);
}
Artifact-Name 在 build.gradle 文件中设置如下:
jar {
manifest {
attributes("Artifact-Name": "TestActuator")
}
}
该属性存在于结果 .jar 文件中的META-INF/MANIFEST.MF文件中,但是当尝试访问/info端点时出现错误:在 MANIFEST.MF 文件中找不到属性“Artifact-Name”,其中 46 个其他属性( s)
我知道 Spring-boot 执行器中有BuildProperties bean,但不希望公开所有这些字段 - AppName 和 Version 绰绰有余。