[SPRING] POM에서 응용 프로그램 버전 가져 오기
SPRINGPOM에서 응용 프로그램 버전 가져 오기
응용 프로그램에 대한 정보를 반환하는 데 사용되는 나머지 끝점이 있습니다 (지금까지만 응용 프로그램 버전) 그러나 지금까지이 정보는 하드 코딩되어 있으며, 변경하는 것을 잊어 버리는 것은 꽤 쉽습니다. pom 또는 manifest 파일에서 앱 버전을 검색하는 것이 좋습니다. 이러한 기능을 제공하는 프로젝트가 있습니까?
해결법
-
==============================
1.Appinfo라는 멋진 프로젝트가 있습니다. 사용하고 즐기십시오! (추한 페이지가 있는데, 나도 알아 -하지만 작동 :)
Appinfo라는 멋진 프로젝트가 있습니다. 사용하고 즐기십시오! (추한 페이지가 있는데, 나도 알아 -하지만 작동 :)
또한 뛰어난 스프링 부트 액츄에이터 (Spring Boot Actuator)는 버전 정보를 웹 또는 REST에 게시 할 수있는 Info Endpoint라는 기능을 제공합니다.
-
==============================
2.빌트인 매니페스트를 사용하는 것이 좋습니다.
빌트인 매니페스트를 사용하는 것이 좋습니다.
new Manifest(Application.class.getResourceAsStream("/META-INF/manifest.mf"))
구체적인 impl-version :
new Manifest(Application.class.getResourceAsStream("/META-INF/manifest.mf")) .getMainAttributes() .get(Attributes.Name.IMPLEMENTATION_VERSION)
maven을 사용하면 다음을 사용하여 매니페스트를 만드는 것을 잊지 마십시오.
<?xml version="1.0" encoding="UTF-8"?> <project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>
-
==============================
3.스프링 부트는 pom.xml에 정의 된 프로젝트 버전을 참조하고 액츄에이터를 사용하여 REST를 통해 노출시킬 수 있습니다 :
스프링 부트는 pom.xml에 정의 된 프로젝트 버전을 참조하고 액츄에이터를 사용하여 REST를 통해 노출시킬 수 있습니다 :
# application.properties endpoints.info.enabled=true info.app.version=@project.version@
그런 다음 / info URL (예 : http : // localhost : 8080 / info)에 액세스하면 다음과 같이 반환됩니다.
{"app": {"version": "<major.minor.incremental>"}}
관련 항목 : 스프링 부트 / 스프링 웹 앱 임베디드 버전 번호
-
==============================
4.Maven이나 Maven-Substitute-Plugin과 같은 자원 필터링을 사용할 수 있습니다.
Maven이나 Maven-Substitute-Plugin과 같은 자원 필터링을 사용할 수 있습니다.
from https://stackoverflow.com/questions/21045007/getting-application-version-from-pom by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Thymeleaf로 Javascript 함수 호출 (0) | 2019.03.20 |
---|---|
[SPRING] @Transactional 주석이있는 Spring OpenSessionInViewFilter (0) | 2019.03.20 |
[SPRING] RESTful 게시물 데이터를 어떻게 기록합니까? (0) | 2019.03.20 |
[SPRING] 도트를위한 JsonPath JUnit 이스케이프 문자 (0) | 2019.03.20 |
[SPRING] Annotation을 통해 Spring Bean의 File 필드 채우기 (0) | 2019.03.20 |