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

  • 相关阅读:
    grunt in webstorm
    10+ Best Responsive HTML5 AngularJS Templates
    响应式布局
    responsive grid
    responsive layout
    js event bubble and capturing
    Understanding Service Types
    To add private variable to this Javascript literal object
    Centering HTML elements larger than their parents
    java5 新特性
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/15780312.html
Copyright © 2011-2022 走看看