2016-06-02 8 views
2

전통적인 Tomcat Spring MVC 웹 애플리케이션을 Spring Boot로 변환하려고합니다. 새 응용 프로그램은 여전히 ​​.war 배포를 사용해야합니다. 여러 가지 이유로스프링 부트 - .properties 파일을 'WEB-INF/classes'와 다른 폴더에 배포하십시오.

나는 application.properties 파일이 배포 된 응용 프로그램에 WEB-INF/conf 폴더 안에 상주하며 의무적 인 요구 사항이 NOT 봄 부팅이 기본적으로 그것을두고 WEB-INF/classes 폴더 안에.

원래의 웹 애플리케이션에서 나는 src/main/webapp/WEB-INF/conf 폴더 안에 application.properties 파일을 넣을 수 있습니다 (그래서 그들은 배포 된 응용 프로그램에 WEB-INF/conf에 복사됩니다) 다음과 같이 사용 :

봄 부팅 방법은 무엇
<context:property-placeholder location="/WEB-INF/conf/application.properties"/> 

이 위치를 말하는거야?

spring.config.location=WEB-INF/conf/application.properties 

하지만 내 application.properties 파일이 아직로드되지 않습니다를 :

나는 다음의 각을 추가했습니다.

+0

'webapp' 부분을 제거하십시오 ... 파일은 여전히 ​​같은 위치에 있습니다. 그러나 전쟁이 전쟁의 일부라면 아직 위치가 중요한 이유는 무엇입니까? –

답변

0

마지막으로 효과가 있었던 것은 @PropertySource 주석이었습니다.

@SpringBootApplication 
@PropertySource(value = {"WEB-INF/conf/application.properties"}) 
public class MyApplication { 
     public static void main(String[] args) { 
     SpringApplication.run(MyApplication.class, args); 
    } 
} 

경로의 시작 부분에 classpath: 또는 file:를 지정하지 않는 것은이 웹 애플리케이션의 상대 경로를 사용하게 보인다. 같은 효과가 없었

spring.config.location=WEB-INF/conf/application.properties 

를 지정하는 이유

나는 여전히에 관해서는 확실하지 않다.