2017-01-31 7 views

답변

1

documentation에 좋은 예가 있습니다. Gradle 프로젝트에서 속성을 자동으로 확장하고 application.properties 파일의 자리 표시 자로 해당 속성을 참조 할 수 있습니다.

processResources { 
    expand(project.properties) 
} 

그런 다음, 예를 들어 자리,를 통해 Gradle을 프로젝트의 속성을 참조 할 수 있습니다

app.name=${name} 
app.description=${description} 

는 그런 다음 응용 프로그램에서 properties 값을 얻기 위해 예를 들어 @Value 주석을 사용할 수 있습니다.

Gradle을의 확장 방법은 가 ${..} 토큰을 변환 Groovy의 SimpleTemplateEngine 사용

@Value("${app.version}") 
public String appVersion; 

@Override 
public void run(String... arg0) throws Exception { 
    System.out.println(appVersion); 
} 

아마 당신은 자리 메커니즘을 탈출해야합니다. ${..} 스타일은 Spring 자신의 속성 자리 표시 자 메커니즘과 충돌합니다. Spring 속성 자리 표시자인 을 자동 확장과 함께 사용하려면 을 \${..}과 같이 이스케이프 처리해야합니다.

피씨 : 당신도 똑같이 할 수 있습니다. more...

+0

나는 무엇을 제안 했나. 하지만 'processResources'작업에 대한 실행이 실패한 것과 같은 오류가 발생합니다. 파일을 복사 할 수 없습니다. logback.xml – ashishjmeshram

+0

@ashishjmeshram 아마도 자리 표시자를 벗어나야합니다. 나는 나의 대답을 업데이트했다. 오류가 계속 발생하면 더 많은 정보를 제공해주십시오. – Patrick

+0

문제는 processResources {expand (project.properties)} 행에서만 발생합니다. 그래서 나는이 한 줄만 추가합니다. 오류가 발생하기 시작합니다. – ashishjmeshram