2016-09-13 5 views
1

내 목표는 tomcat-maven 플러그인을 사용하여 spring을 알려주는 인수가있는 명령 행에서 Spring 부트 애플리케이션을 배치 할 수있게하는 것이다. 다음과 같이 사용하는 : 나는 솔루션 here을 설명하지만, 기본 application.properties 여전히 항상 선택과 같은 몇 가지 다른 일을 시도했습니다tomcat7-maven- 적절한 스프링 프로파일을 선택하여 스프링 부트를 전개하는 플러그인

mvn tomcat7:deploy -Dspring.profiles.active="dev" 

. 내가 선택한 application-dev.properties을 얻을 수있었습니다

유일한 방법은

mvn spring-boot:run -Dspring.profiles.active="dev"

을 사용하는 것입니다하지만 우리는 바람둥이가 우리의 전쟁에 포장하고 싶지 않아

나는 maven과 spring boot를 처음 사용하고 있으며, 이제는 더 나은 부분을 위해 바퀴를 돌리고 있습니다. 따라서 조언을 주시면 감사하겠습니다.

답변

0

나는이 문제를 발견하고 나는 export SPRING_PROFILES_ACTIVE=dev를 사용하여 선택할 올바른 프로필을 얻을 수있었습니다. 내가 겪고있는 문제는 Eclipse 환경 UI를 통해 내 로컬 Tomcat 서버를 시작했을 때 환경 변수가 무시되고 있다는 것이 었습니다. startup.bat를 통해 Tomcat을 시작하면 환경 변수가 사용되고 spring은 올바른 프로파일을 사용합니다.

0

VM 인수를 설정하려면 MAVEN_OPTS 환경 변수를 사용해보십시오. 당신이 당신의 받는다는 목표 전에 실행해야합니다 (리눅스/OSX) 예 :

export MAVEN_OPTS="-Dspring.profiles.active=dev" 
+0

답변을 주셔서 감사합니다. 목표가 작동하는 동안 실행 시간에 설정할 수있는 반면, 환경 변수를 설정하면 빌드 시간에 설정할 수 있습니다. 나는'export SPRING_PROFILES_ACTIVE = dev'가 작동하지만 Eclipse에서 서버를 시작할 때 이러한 환경 변수가 무시된다는 것을 발견했습니다. – djfried