[SPRING] Spring Boot Plugin에서 시스템 속성 정의하기
SPRINGSpring Boot Plugin에서 시스템 속성 정의하기
내 응용 프로그램 (컴파일 타임에 결정)에 몇 가지 시스템 속성을 지정하고 싶습니다.
나는 스프링 부트 메이븐 플러그인을 사용하여 컴파일하고있다.
현재이 질문에 따라 : Maven 프로젝트에 시스템 속성 지정 나는 다음과 같은 설정을 시도했다 (그러나 이것은 다른 플러그인을 위해 작동하지 않는다)
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>application.boot.AppStarter</mainClass>
<systemProperties>
<systemProperty>
<name>application.version</name>
<value>${application.version}</value>
</systemProperty>
<systemProperty>
<name>release.date</name>
<value>${timestamp}</value>
</systemProperty>
</systemProperties>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
이 플러그인에서 속성을 어떻게 지정합니까?
해결법
-
==============================
1.추가하는 자바 시스템 속성은 추가 된 프로세스에서만 액세스 할 수 있습니다. 따라서 Maven 빌드 중에 시스템 속성을 추가로 관리하더라도 빌드가 완료되면 더 이상 존재하지 않게됩니다.
추가하는 자바 시스템 속성은 추가 된 프로세스에서만 액세스 할 수 있습니다. 따라서 Maven 빌드 중에 시스템 속성을 추가로 관리하더라도 빌드가 완료되면 더 이상 존재하지 않게됩니다.
항아리를 다른 사람에게 배포하면 어떻게됩니까? 이러한 속성을 어떻게 사용할 것으로 기대합니까?
런타임에 artifactId 및 버전에 액세스하는 방법을 보려면이 게시물을 참조하십시오. 비슷한 방식으로 타임 스탬프 항목을 src / main / resources / project.properties에 추가 할 수 있습니다
buildTimestamp=${timestamp}
timestamp는 project.version 또는 project.artifactId와 같은 미리 정의 된 속성이 아니므로 Maven 속성 $ {maven.build.timestamp}에서 타임 스탬프를 추출하고 timestamp 속성에 값으로 설정해야합니다. 이것은 이미이 질문에 대답되어 있습니다.
from https://stackoverflow.com/questions/26574004/defining-system-properties-in-spring-boot-plugin by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 웹 페이지에 PDF 표시 (0) | 2019.05.22 |
---|---|
[SPRING] com.thoughtworks.xstream.converters.ConversionException (0) | 2019.05.22 |
[SPRING] 인터페이스는 IoC / DI의 @Component 주석으로 주석 처리됩니다. 그 이유는 무엇일까요? (0) | 2019.05.22 |
[SPRING] @PreAuthorize는 Spring 컨트롤러에서 중첩 된 메소드에 대해 수행한다. (0) | 2019.05.22 |
[SPRING] Spring Data JPA를 사용하는 동안 내 저장소를 자동으로 초기화 할 수 없습니다. (0) | 2019.05.22 |