zoukankan      html  css  js  c++  java
  • 使用单独Tomcat部署Spring boot应用时的多配置文件切换

    之前公司的springboot项目直接用内置的tomcat容器来启动,因此要实现spring配置文件切换直接在启动服务的时候加 -Dspring.profiles.active

    参数就可以切换yml里的配置了,比如:

    application.yml文件:

    spring:
      profiles.active: oracle-test
    
    ---
    
    spring:
      profiles: mysql-test
     
    ---
    
    spring:
      profiles: oracle-test
    
    ---
    spring:
      profiles: oracle-pro
    java -Duser.timezone=Shanghai -Dspring.profiles.active=oracle-test -jar XX.jar

    可是现在新起的一个项目要把前端代码和后端代码部署到一个tomcat里,上面方法不能用了,研究了一下可以通过修改tomcat/bin文件夹里的catalina.sh文件(windows系统为catalina.bat)来实现。详细如下:

    因为不同tomcat版本对应代码的行数不同,直接打开catalina.sh文件搜索JAVA_OPTS,找到类似如下部分:

    # Register custom URL handlers
    # Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
    JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"

    在后面添加 -Dspring.profiles.active=$2 ,把第二个参数作为spring配置文件名:

    # Register custom URL handlers
    # Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
    JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dspring.profiles.active=$2"

    windows下的catalina.bat这样改:

    set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dspring.profiles.active=%2%"

    保存然后后面启动tomcat的时候指定参数就可以了,不指定第二个参数就会使用yml里的默认配置文件:

    ./catalina.sh run oracle-pro
  • 相关阅读:
    线段树时间分治
    CDQ分治
    并查集练习
    hihocoder 1513 小Hi的烦恼 (bitset优化)
    线段树维护哈希
    使用swift语言进行IOS应用开发
    用jquery+Asp.Net实现省市二级联动
    苹果IOS与谷歌 android系统的UI设计原则
    优秀设计师应当知道的20大UI设计原则
    JQuery Easy Ui dataGrid 数据表格
  • 原文地址:https://www.cnblogs.com/pauljoyce/p/13321913.html
Copyright © 2011-2022 走看看