【问题标题】:Springboot profiles for externally deployed war用于外部部署战争的 Springboot 配置文件
【发布时间】:2018-01-26 09:41:40
【问题描述】:

我有一个部署到外部 tomcat 服务器的 springboot 应用程序,一切都在我的本地和本地数据库中运行。现在,我必须将代码提升到数据库配置不同的更高环境。我读了很多关于-Dspring.profiles.active=dev等的配置文件,但是当它是一个外部tomcat而不使用时,spring项目如何知道它在哪个服务器中 java -jar -Dspring.profiles.active=dev demo-0.0.1-SNAPSHOT.jar

【问题讨论】:

  • 也支持JNDI,查看文档

标签: java spring tomcat spring-boot


【解决方案1】:

您可以使用 CATALINA_OPTS 传递 SPRING_PROFILES_ACTIVE=dev 环境变量

【讨论】:

  • 假设我也不能使用它,我还能使用什么?我正在使用 Jenkins 来构建代码并进行推广。我认为詹金斯中有配置知道它是哪个服务器?你有什么类似的配置。删除 applications.properties 并替换为 application-dev.properties
  • 你可以使用 maven(或 gradle)配置文件,但这与你问的问题不同
【解决方案2】:

这是所有外部化属性和设置配置文件的方法docs

【讨论】:

    【解决方案3】:

    您应该将 spring boot 配置文件与 maven 相关联,例如 this

    因此,您可以构建您的 jar 包,指定所需的 Spring Boot 配置文件:

    mvn clean install -P Prod
    

    【讨论】:

      猜你喜欢
      • 2014-08-18
      • 1970-01-01
      • 2018-07-05
      • 2018-07-28
      • 2016-05-19
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多