【问题标题】:tomcat7-maven-plugin to deploy spring boot with appropriate spring profile selectedtomcat7-maven-plugin 部署带有选择适当弹簧配置文件的弹簧引导
【发布时间】:2016-09-13 15:46:13
【问题描述】:

我的目标是能够使用 tomcat-maven 插件从命令行部署我的 Spring Boot 应用程序,其中提供了一个参数告诉 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 的新手,我已经在一天的大部分时间里都在旋转我的轮子,所以任何建议都将不胜感激。

【问题讨论】:

    标签: maven tomcat spring-boot pom.xml maven-tomcat-plugin


    【解决方案1】:

    考虑使用MAVEN_OPTS 环境变量来设置VM 参数。 (Linux/osx) 示例,您需要在 maven 目标之前执行:

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

    【讨论】:

    • 感谢您的回答,虽然我认为这可能有效,但目标是能够在运行时设置它,而在构建时设置 maven 环境变量。我发现export SPRING_PROFILES_ACTIVE=dev 可以工作,但是在 Eclipse 中启动服务器时,这些环境变量会被忽略
    【解决方案2】:

    我发现了问题,并且能够使用以下方法选择正确的配置文件 export SPRING_PROFILES_ACTIVE=dev。我遇到的问题是当我通过 eclipse UI 启动本地 tomcat 服务器时,我的环境变量被忽略了。当通过 startup.bat 启动 tomcat 时,环境变量被使用,spring 使用正确的配置文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 2011-09-11
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多