Я работаю в архитектуре, основанной на микроуслугах, где у каждого сервиса есть зависимость от базового jar.
Поэтому я хочу напечатать информацию BUILD (версия проекта и время сборки) при запуске приложения Spring Boot.
Пожалуйста, предложите способ сделать изменения только в базовом банке.
для индивидуального обслуживания Мой код выглядит так:
public class PaymentApplication extends SpringBootServletInitializer {
@Autowired
Optional<BuildProperties> buildProperties;
private static final Logger LOGGER = LoggerFactory.getLogger(PaymentApplication .class);
public static void main(String[] args) throws Exception {
ConfigurableApplicationContext appContext = SpringApplication.run(PaymentApplication .class, args);
appContext.registerShutdownHook();
}
@PostConstruct
private void logVersion() {
if(buildProperties.isPresent()) {
LOGGER.info("### BUILD_INFO=[version={}, buildTime={}]",buildProperties.get().getVersion(),buildProperties.get().getTime());
}
}
плагин в pom. xml
<!-- Build Info plug-in -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>build-info</id>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>