我试图version使用Spring Boot和Gradle 访问构建信息值,例如在Java主应用程序中。
version
我找不到任何文档/有关如何配置
build.gradle
application.yml
Java main class
有人可以帮忙提供上述文件的小代码示例。
在我的build.gradle文件中,将包含version条目,因此如何使用Spring Boot和Gradle 将其输入Java主类。
version=0.0.1-SNAPSHOT
我尝试添加
apply plugin: 'org.springframework.boot' springBoot { buildInfo() }
但buildInfo()在Intellij中无法将其识别为关键字
buildInfo()
在我的Java主类中,我具有以下内容:
public class MyExampleApplication implements CommandLineRunner { @Autowired private ApplicationContext context; public static void main(String[] args) { SpringApplication.run(MyExampleApplication.class, args); } @Override public void run(String[] args) throws Exception{ Environment env = (Environment) context.getBean("environment"); displayInfo(env); } private static void displayInfo(Environment env) { log.info("build version is <" + env.getProperty("version") }
但是,当我运行此命令时-的输出env.getProperty("version")显示为null。
env.getProperty("version")
null
Spring Boot BuildProperties使用生成的信息自动配置Bean buildInfo()。
BuildProperties
因此要获取信息使用context.getBean(BuildProperties.class).getVersion();。
context.getBean(BuildProperties.class).getVersion();