zoukankan      html  css  js  c++  java
  • maven 多模块打包 每个模块 多 环境 yml 的具体配置

    1.网上找不到具体说明maven 多模块,其中每个模块有多个环境yml配置文件 具体该怎么设计

    琢磨了半天并验证 ,总结如下 

    1.在需要配置多环境的子模块工程里 的 resources 里 配置多个application.yml ,其他的使用 application-[自定义].yml 格式新建,如 application-pro.yml 
    2.有多个配置文件时,application.yml 这个文件仅作引入其他 yml使用,不写 具体的配置数据
    3.每个子模块里的pom.xml文件需要在 <build> 标签里添加 <resources> 配置,如果没有设计,会导致不论是开发工具启动还是打包 都会引入所有yml
    4.不是所有工程都需要配置多yml ,不影响默认 application.yml  的使用,
      如zuul、 eureka等 不论是本地还是生产 ,都没有配置区别 ,可以不做yml配置,以前是什么就是什么
    5.需要在最大父级pom.xml配置<profiles>,这样idea 的maven结构会显示profiles的选择框
    6.有些会显示jdk版本,那是因为在maven的setting.xml设置了  <profiles>,
      具体配置看下面内容
    7.不论是打包还是开发工具启动 ,都需要选择 profiles   ,如果不选择,会导致全部yml都生产并运行 ,最终导致排列最后一个yml生效 【同字段】
    8.切换yml打包时记得先clean后再package

    2.配置

    看下结构

     配置 jdk版本

    在当前 项目使用的 maven 找到setting.xml文件,

    不知道的可以查看idea设置里 

    找到   <settings>  》 <profiles>  里添加

      <profile>
          <id>jdk-1.8</id>
          <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
          </activation>
          <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
          </properties>
        </profile>

     保存即可

    父级 pom.xml 添加 配置

        <profiles>
            <!-- dev开发环境配置,pro为生产环境配置 -->
            <profile>
                <id>dev</id>
                <properties>
                    <profileActive>dev</profileActive>
                </properties>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <id>pro</id>
                <properties>
                    <profileActive>pro</profileActive>
                </properties>
            </profile>
        </profiles>

    在需要配置多yml的工程里添加添加yml文件

     其中application.yml 文件只需要配置下面这点

    spring:
      profiles:
        active: @profileActive@

    其他的根据以前配置 application.yml 的格式配置 ,这里就不展示具体内容了

    现在点一下刷新maven就出来选项了

     不论是打包还是开发工具启动 ,都需要选择 profiles   ,如果不选择,会导致全部yml都生成并运行 ,最终导致排列最后一个yml生效 【同字段】

  • 相关阅读:
    常见协议基础知识总结--FTP协议
    DG增量恢复
    DG备库无法接受主库归档日志之密码文件
    Oracle密码概要文件,密码过期时间180天修改为3天,相关用户密码是否过期
    ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储
    Deinstall卸载RAC之Oracle软件及数据库+GI集群软件
    增加临时表空间组Oracle11g单实例
    安装12C小问题及pdb表空间配置
    判断子表外键约束参数类型
    创建small表空间size32G报错ORA-01144
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/15780312.html
Copyright © 2011-2022 走看看