我的目标是能够使用tomcat-maven插件从命令行部署我的spring启动应用程序,其中提供了一个参数,告诉spring使用哪个配置文件:
mvn tomcat7:deploy -Dspring.profiles.active="dev"
我尝试了几种不同的东西,比如描述的here解决方案,但仍然总是选择默认的application.properties。
我能够选择application-dev.properties的唯一方法是使用
mvn spring-boot:run -Dspring.profiles.active="dev"
但我们不希望在我们的战争中打包tomcat
我是maven和spring boot的新手,而且我现在已经在一天的大部分时间里旋转我的轮子,所以任何建议都会受到赞赏。
答案 0 :(得分:0)
考虑使用MAVEN_OPTS环境变量来设置VM参数。 (Linux / osx)您需要在maven目标之前执行的示例:
export MAVEN_OPTS="-Dspring.profiles.active=dev"
答案 1 :(得分:0)
我发现了问题,我能够使用选择正确的配置文件
export SPRING_PROFILES_ACTIVE=dev
。我遇到的问题是当我通过eclipse UI启动我的本地tomcat服务器时,我的环境变量被忽略了。通过startup.bat启动tomcat时,将使用环境变量,spring将使用正确的配置文件。