2014-05-13 2 views
1

내 프로젝트에 동일한 파일 또는 때때로 시스템 또는 환경 변수의 다른 속성에 대한 내부 참조가있는 속성 파일이 있습니다. 같은 속성 파일에있는 사람들을 어떻게 참조 할 수 있습니까? 예를 들어Google Guice 속성 자리 표시 자

:

Test = testexample 
foo = ${Test}/${hostname} 

여기 Test 시스템 변수로부터 상기 건물 hostname 온한다. 이것은 Spring과 함께 작동합니다.

미리 도움을 주셔서 감사합니다.

답변

1

Guice는 Names.bindProperties를 통해 등록 정보를 등록 할 수 있지만 등록 정보를로드하는 자체 메커니즘을 제공하지 않으므로 지원되지 않습니다.

다른 도구로 속성을 읽고 바꾸는 것을 관리하면 물론 등록 할 수 있습니다.

maven을 사용할 때 build-helper 플러그인을 사용하여 빌드 중에 참조를 대체하는 것으로 생각하면 충분합니다.

1

이 핵심 Guice에 존재하지 않지만 실제로는 자리가 지정 될 수있는 Rocoto Guice extension

을 사용하여 달성 할 수 있으며,이를 동적 또한 기본 값을 지원

my.testFile = testFile.config 
my.testDir = /etc 
my.testPath = ${my.testDir}/${my.testFile} 

확장

my.testDir = /etc 

#resolves to /etc/default.config 
my.testPath = ${my.testDir}/${my.testFile|default.config}