Después de consultar con especialistas en la materia, programadores de varias ramas y profesores dimos con la respuesta al dilema y la plasmamos en esta publicación.
Solución:
También puedes agregar esto en build.gradle
:
springBoot
buildInfo()
Entonces, puedes usar BuildProperties
frijol :
@Autowired
private BuildProperties buildProperties;
Y obtén la versión con buildProperties.getVersion()
Como se describe en la documentación de referencia, debe indicar a Gradle que procese los recursos de su aplicación para que reemplace el $version
marcador de posición con la versión del proyecto:
processResources
expand(project.properties)
Para estar seguro, es posible que desee reducir las cosas para que solo application.properties
es procesado:
processResources
filesMatching('application.properties')
expand(project.properties)
Ahora, asumiendo que su propiedad se llama info.build.version
estará disponible a través de @Value
:
@Value("$info.build.version")
Resolví esto agregando a application.yml lo siguiente:
$version?:unknown
También funciona desde cli:ejecución de arranque gradle y también desde IntelliJ y no tiene que llamar al proceso de tareas de GradleResources antes de iniciar IntelliJ o usar perfiles de primavera.
Este trabajo con Gradle ver:4.6 y también Spring Boot ver: 2.0.1.LIBERAR. Espero eso ayude 😉
Aquí puedes ver las reseñas y valoraciones de los lectores
Eres capaz de añadir valor a nuestro contenido informacional colaborando tu experiencia en las referencias.