• maven 环境隔离


    环境隔离

    目前只有一个配置文件,但是不方便未来的自动化部署

    方案

    新增application-dev.ymlapplication-prod.yml
    隔离成开发环境生产环境

    过程

    首先确保src/main/resources目录是有application.yml

    src/main/resources新建application-dev.ymlapplication-prod.yml

    • application-dev.yml
    # 开发环境
    spring:
        jpa:
            show-sql: true
    
    • application-prod.yml
    # 生产环境
    spring:
        jpa:
            show-sql: false
    
    • pom.xml
    <dependencies>
        ...
    </dependencies>
    
    <profiles>
      <profile>
        <!--   开发环境   -->
        <id>dev</id>
        <activation>
          <!-- 表示如果编译时没有指定环境,则以该环境为默认环境 -->
          <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
          <!--使用${environment}获取值-->
          <environment>dev</environment>
        </properties>
      </profile>
      <profile>
        <!--   生产环境   -->
        <id>prod</id>
        <properties>
          <environment>prod</environment>
        </properties>
      </profile>
    </profiles>
    <build>
      <resources>
        <!--排除环境配置文件-->
        <resource>
          <directory>src/main/resources</directory>
          <excludes>
            <exclude>application-*.yml</exclude>
          </excludes>
        </resource>
    
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
          <!-- 打包时包含的文件 -->
          <includes>
            <include>application-${environment}.yml</include>
          </includes>
        </resource>
      </resources>
      ...
    </build>
    

    编译打包命令

    mvn clean package -Dmaven.test.skip=true -Pdev   # 开发环境的打包命令
    mvn clean package -Dmaven.test.skip=true -Pprod  # 生产环境的打包命令
    

    运行命令

    java -jar bookstore-v0.1.jar --spring.profiles.active=dev  # 开发环境运行
    java -jar bookstore-v0.1.jar --spring.profiles.active=prod # 生产环境运行
    

    idea上配置

    Environment variables 设置为--spring.profiles.active=dev

    并且Active profiles 设置为dev

  • 相关阅读:
    英语中的合成词
    超声诊断装置的质量评价
    图像处理的数学方法zz
    超声射频信号的产生(RF Signal)
    黄帝内经——春夏秋冬养生之道zz
    超声仿真软件Field II的使用
    水木上关于超声图像增强的讨论
    TWaver HTML5 + Node.js + express + socket.io + redis(五)
    如何用Swing去绘制电力系统图
    TWaver在FTTX设备网管系统中的应用
  • 原文地址:https://www.cnblogs.com/Draymonder/p/12266034.html
Copyright © 2020-2023  润新知