2016-09-13 27 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