• 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生效 【同字段】

  • 相关阅读:
    JS字符串去重
    svn回退到某一版本
    WebStorm格式化代码4个空格设置
    DevExpress中 的DataGrid每一行根据其类型显示控件的种类
    各大系统刷新DNS缓存方法
    Kali Linux中前十名的Wifi攻击工具
    CentOS远程执行漏洞
    判断是否移动端的几种方法
    笔记
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/15780312.html
Copyright © 2020-2023  润新知