2016-09-13 28 views
1

我的目標是能夠使用tomcat-maven插件從命令行部署我的彈簧啓動應用程序,其中提供參數,告訴彈簧哪些配置文件使用這樣的:tomcat7-maven-plugin部署彈簧啓動與選擇適當的彈簧配置文件

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

我已經嘗試了幾種不同的東西,如解決方案描述here但默認application.properties仍然總是選擇。

,我已經能夠獲得選擇的application-dev.properties的唯一方法是通過使用

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

但我們不希望有Tomcat的在我們的戰爭包裝

我是新來的maven和春季引導,我一直在旋轉我的輪子的一天的更好的一部分,所以任何意見將不勝感激。

回答

0

我發現了問題,我能得到使用 export SPRING_PROFILES_ACTIVE=dev選擇了正確的輪廓。我遇到的問題是當我通過eclipse UI啓動本地tomcat服務器時,我的環境變量被忽略。當通過startup.bat啓動tomcat時,環境變量被使用並且spring使用正確的配置文件。

0

考慮使用MAVEN_OPTS環境變量來設置VM參數。 (Linux的/ OSX)例如,你需要你的Maven目標之前執行:

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

感謝您的答案,而我認爲這可能會工作,目標是能夠在運行時設置此,同時設置maven環境變量將在構建時。我發現'export SPRING_PROFILES_ACTIVE = dev'可以工作,但是在eclipse中啓動服務器時,這些環境變量會被忽略 – djfried